首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Pandas中的单字符列获取ord()值

从Pandas中的单字符列获取ord()值
EN

Stack Overflow用户
提问于 2021-10-14 09:54:45
回答 1查看 77关注 0票数 2

使用像这样的数据帧:

代码语言:javascript
复制
>>> df = pd.DataFrame([
    ['a', 'b', 'c'],
    ['d', 'e', 'f'],
    ['x', 'y', 'z'],
])

我们可以获得每个字符的ord()映射:

代码语言:javascript
复制
>>> ordinals = df.apply(lambda x: [ord(c) for c in x])

>>> ordinals
     0    1    2
0   97   98   99
1  100  101  102
2  120  121  122

有没有可能以向量化的方式得到相同的结果,这样我们就可以避免在每一行上使用apply,这对于1.5M+行来说是非常慢的?

EN

回答 1

Stack Overflow用户

发布于 2021-10-14 09:55:07

使用applymap

代码语言:javascript
复制
df.applymap(ord)

例如:

代码语言:javascript
复制
>>> df.applymap(ord)
     0    1    2
0   97   98   99
1  100  101  102
2  120  121  122
>>> 

或者使用np.vectorize (可能更快,因为它是numpy):

代码语言:javascript
复制
>>> df[:] = np.vectorize(ord)(df)
>>> df
     0    1    2
0   97   98   99
1  100  101  102
2  120  121  122
>>> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69568631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档