数据框用下划线替换下划线不起作用

时间:2019-02-09 23:12:13

标签: python dataframe replace

我正在努力弄清为什么这种替换无法正常工作

输入列值

“全球多部门收入综合指数(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("_", "")

结果没有改变。...

请提出任何想法

1 个答案:

答案 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    *