假設我有以下系列:
ser = pd.Series(['abc', '(d:affds)', 'trrt'])
如果一個元素以 開頭(d:)和結尾),我想提取里面的內容。否則,我想保持原樣。
如果我做
ser.str.extract(r'\(d:(.*)\)')
然后我得到
0
0 NaN
1 affds
2 NaN
因此,第 1 行的提取作業正常。但是,對于第 0 行和第 2 行,我想保持該行不變。所以,我的預期輸出是:
0
0 abc
1 affds
2 trrt
uj5u.com熱心網友回復:
您可以添加fillna
ser.str.extract(r'\(d:(.*)\)')[0].fillna(ser)
Out[163]:
0 abc
1 affds
2 trrt
Name: 0, dtype: object
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/459180.html
下一篇:如何在熊貓中將聚合串列拆分為多列
