如何在多列DataFrame中按条件批量替换值(将//替换为1)
Pandas 批量替换DataFrame全列指定值
方法1:使用replace()全局替换(最简单)
replace()方法会自动遍历整个DataFrame,匹配目标值并完成替换,是这类批量处理场景的首选方案:
import pandas as pd # 读取分号分隔的数据集(本地文件的话替换为对应路径) df = pd.read_csv('your_data.csv', sep=';', index_col=False) # 全局替换所有'//'为1 df = df.replace('//', 1)
方法2:使用applymap()自定义处理(适合复杂条件)
如果需要更灵活的多条件替换逻辑,可以用applymap()将自定义规则函数应用到每一个单元格:
# 定义替换规则 def replace_target(x): return 1 if x == '//' else x # 应用到整个DataFrame df = df.applymap(replace_target)
处理后结果示例
替换完成后的数据如下:
| col1 | col2 | col3 | col4 |
|---|---|---|---|
| 23 | 54 | 12 | 1 |
| 54 | 1 | 2 | 1 |
| 8 | 2 | 1 | 1 |
内容的提问来源于stack exchange,提问作者user16511234
相关产品推荐
相关产品推荐

