python - 数据框用空白替换下划线不起作用
问题描述
我正在努力弄清楚为什么这个替换不起作用
输入列值
“全球多部门收入综合 (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("_", "")
结果没有改变......
请有任何想法
解决方案
你需要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 *
推荐阅读
- mongodb - 如何删除 mongo db 中的推文链接
- ubuntu - 无法全局安装电子
- r - 具有 dplyr 的自定义函数在一个因子内针对不同级别进行变异或汇总?
- ios - 选择 DatePicker 后更新单元格中的日期(时间)
- java - 片段中的回收站视图为空
- c++ - 为什么 const char* const & = "hello" 可以编译?
- c# - 在c#中返回元组字典作为函数的返回类型
- angular - 如何正确实施“photo.service”?
- javascript - 锚标签-在 iphone7/6s plus 中没有在 mousedown 上获取日志
- cordova - 如何在ionic 2中使用couchbase-lite cordova插件实现同步功能?