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

如何从pandas读取的Excel字符串中调用变量计算数值?

处理Excel数据并计算B列值的高效方案

1. 读取原始数据

先读取目标Excel表格(以下用示例数据模拟实际读取结果):

import pandas as pd

# 实际场景替换为 pd.read_excel("你的文件路径.xlsx")
original_df = pd.DataFrame({
    "ID": ["01", "02"],
    "A": [5, 8],
    "B": ["A+2", "A+4"]
})

2. 生成10条随机选取ID01/ID02的DataFrame

通过重复采样生成目标数据集:

# replace=True 允许重复选取同一行数据
random_df = original_df.sample(n=10, replace=True).reset_index(drop=True)

3. 高效计算B列实际数值

由于B列格式固定为A+x,直接提取数字部分与对应行的A值相加即可,无需复杂函数:

# 提取B列中的整数部分,转换为数值类型
random_df["x"] = random_df["B"].str.extract(r"\+(\d+)").astype(int)
# 计算B列的实际结果
random_df["B_calculated"] = random_df["A"] + random_df["x"]
# 按需删除临时生成的x列
random_df = random_df.drop("x", axis=1)

最终效果示例

处理后的random_df输出样例:

IDABB_calculated
0015A+27
1028A+412
2015A+27
...............

方案优势

  • 规避eval()的安全风险,也无需依赖locals()动态取值
  • 采用pandas矢量化操作,处理海量数据时比逐行调用函数效率高得多
  • 代码简洁,无需针对运算逻辑写额外判断(只要B列格式固定为A+x即可适配)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:11:05