我有一個包含字串集合的資料框。這些字串看起來像這樣:
"oop9-hg78-op67_457y"
我需要洗掉從下劃線到結尾的所有內容,以便將此資料與另一組資料匹配。我的嘗試看起來像這樣:
df['column'] = df['column'].str[0:'_']
我試過在這個宣告中玩弄 .find() 但似乎沒有任何效果。有人有什么想法嗎?任何和所有的幫助將不勝感激!
uj5u.com熱心網友回復:
您可以嘗試.str.split然后使用.str或訪問串列.str.extract
df['column'] = df['column'].str.split('_').str[0]
# or
df['column'] = df['column'].str.extract('^([^_]*)_')
print(df)
column
0 oop9-hg78-op67
uj5u.com熱心網友回復:
df['column'] = df['column'].str.extract('_', expand=False)
如果需要其他選項,也可以使用。
添加到上面由@Ynjxsjmh 提供的解決方案
uj5u.com熱心網友回復:
您可以使用str.extract:
df['column'] = df['column'df].str.extract(r'(^[^_] )')
輸出(為清楚起見作為單獨的列):
column column2
0 oop9-hg78-op67_457y oop9-hg78-op67
正則運算式:
( # start capturing group
^ # match start of string
[^_] # one or more non-underscore
) # end capturing group
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/479036.html
上一篇:從更大的資料幀中隨機子集資料幀
