从 python 数据框中的第二个下划线后面获取数据?

我正在尝试从 python 数据帧中返回第二个下划线后获取数据?


    number

0   a_bc_def 12_23_this_6729

1   abc_def,122$3_this_6729

2   abc_def_1_2_23_this_6729



    number

0   this_6729

1   this_6729

2   this_6729

我试图从一开始就从第二个下划线获取数据。


df['number'] = df['number'].str.split('_',2).apply(lambda x: x[-1])

如何从后面的第二个下划线开始?


泛舟湖上清波郎朗
浏览 64回答 2
2回答

富国沪深

一种方法是将相同的字符串反转,执行操作,然后再次反转。df['number'].apply(lambda x: str(x)[::-1].split('_',2)[-1][::-1])它不是很有效,因为你需要反转两次,但字符串不会太长,在我看来这不会那么糟糕。

Smart猫小萌

不需要申请,这个可以通过str方法操作来完成str.split('_')在下划线处分割str[-2:]选择拆分后的最后 2 个元素str.join('_')将这些元素连接成一个字符串df['number']=df['number'].str.split('_').str[-2:].str.join('_')0    this_67291    this_67292    this_6729
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python