我正在嘗試從 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
提交
取消