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

如何在Pandas中仅对含逗号的列执行指定数据转换操作?

解决方法
  • 先定位所有包含逗号的列:通过检查每列的字符串值中是否存在逗号,筛选出需要处理的目标列
  • 仅对目标列执行替换逗号并转换为数值的操作,其余列保持原格式不变

完整代码示例:

import pandas as pd

# 构造示例DataFrame
data = {
    'A': ['1,598', '-300'],
    'B': [65.79, 46.90],
    'C': [79, 90],
    'D': ['asdf', 'qwer']
}
df = pd.DataFrame(data)

# 1. 找出包含逗号的列
target_cols = df.columns[df.apply(lambda col: col.astype(str).str.contains(',').any())]

# 2. 仅对目标列执行转换操作
df[target_cols] = df[target_cols].astype(str).apply(lambda x: pd.to_numeric(x.str.replace(',', '')))

print(df)

执行后输出结果:

A      B   C     D
0  1598.0  65.79  79  asdf
1  -300.0  46.90  90  qwer

说明:

  • df.apply(lambda col: col.astype(str).str.contains(',').any()) 遍历每一列,检查该列是否存在至少一个包含逗号的值,返回布尔数组
  • 用df.columns[]筛选出对应的列名,得到需要处理的目标列列表
  • 仅对目标列执行替换逗号和转数值的操作,避免修改其他无需处理的列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:35:38