我正在尝试从 python 数据帧中返回第二个下划线后获取数据? number0 a_bc_def 12_23_this_67291 abc_def,122$3_this_67292 abc_def_1_2_23_this_6729 number0 this_67291 this_67292 this_6729我试图从一开始就从第二个下划线获取数据。df['number'] = df['number'].str.split('_',2).apply(lambda x: x[-1])如何从后面的第二个下划线开始?
2 回答
富国沪深
TA贡献1790条经验 获得超9个赞
一种方法是将相同的字符串反转,执行操作,然后再次反转。
df['number'].apply(lambda x: str(x)[::-1].split('_',2)[-1][::-1])
它不是很有效,因为你需要反转两次,但字符串不会太长,在我看来这不会那么糟糕。
Smart猫小萌
TA贡献1911条经验 获得超7个赞
不需要申请,这个可以通过str方法操作来完成
str.split('_')在下划线处分割
str[-2:]选择拆分后的最后 2 个元素
str.join('_')将这些元素连接成一个字符串
df['number']=df['number'].str.split('_').str[-2:].str.join('_')
0 this_6729
1 this_6729
2 this_6729
添加回答
举报
0/150
提交
取消