切片时使用功能

时间:2014-10-14 22:16:54

标签: python pandas

在这里寻找一些澄清和一些方向

- 给出一个简单的Pandas数据框

df = pd.DataFrame(['123abc','456xyz'],columns=['foo'])

foo

0   123abc

1   456xyz

- 这有效

df.foo.str[:3]

0    123

1    456

- 这不是

df.foo.str[:df.foo.str.len()]

0   NaN

1   NaN

1 个答案:

答案 0 :(得分:1)

如果您只是想从字符串中提取数字,那么您可以使用extract

In [23]:

df = pd.DataFrame(['123abc','45xyz'],columns=['foo'])
df.foo.str.findall(r'\d+').str[0]

Out[23]:
0    123
1     45
Name: foo, dtype: object

如果您只想从字符串的开头切换到最后3个字符,那么您可以使用负偏移:

In [25]:

df = pd.DataFrame(['123abc','45xyz'],columns=['foo'])
df.foo.str[:-3]

Out[25]:
0    123
1     45
Name: foo, dtype: object