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

Pandas中replace函数仅匹配整串不替换子串问题求助

解决DataFrame中所有字符串的逗号替换为句号的问题

你的问题出在pandas.DataFrame.replace的默认行为上:当regex=False(默认值)时,该方法只会替换完全匹配第一个参数的单元格,而非单元格内的子串。要实现所有字符串中的逗号替换为句号,有两种简单的解决方式:

方法1:启用正则匹配修改replace参数

直接在replace方法中添加regex=True,让pandas将逗号视为子串匹配而非全单元格匹配:

import pandas as pd

fulfill_workbook = 'fulfill 7.csv'

df_fulfill = pd.read_csv(fulfill_workbook, sep=';', encoding='latin-1')

# 启用regex参数,替换所有子串中的逗号
df_fulfill = df_fulfill.astype(str).replace(',', '.', regex=True)

df_fulfill.to_excel('fulfill ready.xlsx')

方法2:使用str.replace针对字符串列操作

通过apply对每一列调用字符串的replace方法,明确针对子串进行替换:

import pandas as pd

fulfill_workbook = 'fulfill 7.csv'

df_fulfill = pd.read_csv(fulfill_workbook, sep=';', encoding='latin-1')

df_fulfill = df_fulfill.astype(str)
# 对每个列应用字符串替换
df_fulfill = df_fulfill.apply(lambda col: col.str.replace(',', '.'))

df_fulfill.to_excel('fulfill ready.xlsx')

两种方法都能实现将所有单元格字符串中的逗号替换为句号,比如把'John, Doe'改成'John. Doe'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:25:16