我正在努力弄清为什么这种替换无法正常工作
输入列值
“全球多部门收入综合指数(fka GITR)(USD)BWC_GMSI”
预期产量
“全球多部门收入综合指数(fka GITR)(USD)BWCGMSI”
代码
import pandas as pd
d = {'col1': ["Dummy", "Global Multi-Sector Income Composite(fka GITR) (USD) BWC_GMSI"], 'col2': ["dummy 3", "dummy4"]}
df = pd.DataFrame(data=d)
df2 = df.replace("_", "")
结果没有改变。...
请提出任何想法
答案 0 :(得分:1)
您需要regex=True
:
>>> df2 = df.replace(r"_", "", regex=True)
否则,Pandas将搜索完全匹配的内容,其中单元格的全部内容都是一个下划线。
示例:
>>> d = {'col1': ["Dummy", "A_B__C_D"],
... 'col2': ["Dummy", "ABCD_"],
... 'col3': ["_", "_*_"]
... }
>>> df = pd.DataFrame(data=d)
>>> df.replace(r"_", "", regex=True)
col1 col2 col3
0 Dummy Dummy
1 ABCD ABCD *