我有一个类似以下的df
ColumnA
"ABC X1"
"BCS X2"
"CCC X3"
我想将部分字符串替换为“”(如果它们在列表中),但还要将它们保留在单独的列中。说我的清单为例;
["X1","X3"]
所以我想要的输出是
ColumnA ColumnB
"ABC" "X1"
"BCS X2"
"CCC" "X3"
我知道如何使用替换值replace
,我也认为我可以通过使用for循环并将每个值与列表中的值进行比较,并在它们匹配时保留它们来解决问题,但是也许有更好的解决方案?
您可以执行两次:
df['ColumnB'] = df.ColumnA.str.extract(f'({"|".join(strs)})')[0]
df['ColumnA'] =df.ColumnA.replace(strs,'', regex=True)
输出:
ColumnA ColumnB
0 ABC X1
1 BCS X2 NaN
2 CCC X3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句