【发布时间】:2021-10-06 11:25:42
【问题描述】:
我有一个数据框,其中 x 列有 100k 行,如下所示:
x
DIV.CDN
DIV.XYN
VIM.NGN
VIM.AHY
我需要从右边的点(.)中提取第三个字符,例如: 否
没有
没有
是的
Pandas 数据框怎么做?
【问题讨论】:
-
请修正您的数据。您提供 4 个输入,但只有 3 个输出。
我有一个数据框,其中 x 列有 100k 行,如下所示:
x
DIV.CDN
DIV.XYN
VIM.NGN
VIM.AHY
我需要从右边的点(.)中提取第三个字符,例如: 否
没有
没有
是的
Pandas 数据框怎么做?
【问题讨论】:
使用str访问器:
>>> df
x
0 DIV.CDN
1 DIV.XYN
2 VIM.NGN
3 VIM.AHY
>>> df['x'].str[-1]
0 N
1 N
2 N
3 Y
Name: x, dtype: object
请阅读文档:Working with text data
【讨论】:
假设每一列的值都是一个字符串,对于每一个你可以用一个简单的索引来抓取它:
third_character = string[-1]
这里,它本质上是抓取字符串的最后一个元素。为了对所有行执行此操作,一种选择是实现一个 for 循环,对所有行迭代执行此操作,每次都附加到一个列表。
【讨论】: