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

如何在pandas中处理含混合类型的CSV列 计算表达式得到整数值

可以实现,你可以选择读取CSV时直接通过转换器处理,或者读入DataFrame后批量处理,两种方案都能直接得到计算后的整数值。

方案1:读取CSV时直接处理

适合数据量不大、需要一步得到结果的场景,通过read_csv的converters参数指定每列的转换逻辑:

import pandas as pd

# 表达式计算函数,仅适配加减运算场景
def calc_expr(val):
    return pd.eval(val)

df = pd.read_csv(
    "你的文件路径.csv",
    converters={
        "column1": calc_expr,
        "column2": calc_expr
    },
    dtype="int" # 直接指定输出列为整数类型
)

方案2:读入后批量处理

适合大文件场景,性能更优,先读入全量数据再对目标列做转换:

import pandas as pd

# 先默认读取CSV,带表达式的列会为object类型
df = pd.read_csv("你的文件路径.csv")

# 指定需要处理的列,批量计算
process_cols = ["column1", "column2"]
for col in process_cols:
    df[col] = df[col].apply(pd.eval).astype(int)

注意事项

当前场景只有加减运算,用pd.eval没有安全风险。如果你的实际数据包含其他未知表达式,建议先加一层字符校验,过滤掉数字、+、-之外的非法字符后再计算,避免执行恶意代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:45:05