You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas DataFrame中替换所有指定字符?附逗号转圆点示例

Python实现Pandas DataFrame全局逗号替换为圆点

针对大数据量场景,优先推荐读入阶段直接处理,减少后续内存操作开销,两种实现方案如下:

方案1:读入数据时直接转换(最高效,适合超大数据集)

读csv格式数据源时直接指定十进制分隔符为逗号,pandas会自动将逗号识别为小数点,直接读取为数值类型,无需二次处理:

import pandas as pd
# 关键参数decimal指定十进制分隔符为逗号
df = pd.read_csv('你的数据文件路径.csv', decimal=',')

方案2:已读入DataFrame后全局替换

如果已经将数据读入为DataFrame,使用pandas向量化替换操作实现全局修改,避免循环遍历提升效率:

import pandas as pd

# 示例构造DataFrame,实际使用时直接替换为自己的df即可
data = {
    'W1': ['71,65', '21,63', '11,56', '13,21'],
    'W2': ['833,06', '131,21', '23,60', '93,06'],
    'W3': ['54,955', '32,90', '87,55', '14,05']
}
df = pd.DataFrame(data)

# 全局替换所有单元格内的逗号为圆点,两种写法二选一即可
# 写法1:正则全局替换,代码更简洁
df = df.replace(',', '.', regex=True)
# 写法2:字符串方法逐列处理,兼容性更好
# df = df.apply(lambda col: col.str.replace(',', '.'))

# 可选:如果需要转换为数值类型用于后续计算,添加下行代码
df = df.astype(float)

运行后输出结果与需求完全一致:

W1      W2      W3
0  71.65  833.06  54.955
1  21.63  131.21   32.90
2  11.56   23.60   87.55
3  13.21   93.06   14.05

内容的提问来源于stack exchange,提问作者user3104352

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:24:03