gpt4 book ai didi

Python数据框列字符串提取的高效方式?

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:24 26 4
gpt4 key购买 nike

我有一个数据框 df,其列 ID 采用以下模式。我想要的是返回一个带有破折号后数字的字符串列。对于下面的示例,我需要 01,01,02。我使用了下面的命令,但失败了。由于它是一个非常大的数据框,我认为进行循环和逐行提取可能效率低下。请指教,谢谢

df['ID'].apply(lambda x: x.split('-')[1], axis=1)

错误:() 得到了一个意外的关键字参数 'axis'

DP00010-01
DP00020-01
..........
DP00010-02

更新:Edchum 的解决方案

df['ID'].str.split('-').str[1] 

对我有用

最佳答案

使用矢量化 str方法 split如果你有最新版本的 Pandas :

In [26]:
df['val'].str.split('-').str[1]
Out[26]:
0 01
1 01
2 02
dtype: object

如果破折号的位置是固定的,那么你可以将它切片

In [28]:    
df['val'].str[8:]
Out[28]:
0 01
1 01
2 02
Name: val, dtype: object

至于你的方法失败的原因,你在系列上调用 apply(df['ID'] 是系列而不是 df)并且没有axis参数所以以下工作:

In [29]:
df['val'].apply(lambda x: x.split('-')[1])

Out[29]:
0 01
1 01
2 02
Name: val, dtype: object

关于Python数据框列字符串提取的高效方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30603663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com