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

如何使用pandas对多个DataFrame批量执行相同操作

批量处理pandas DataFrame方案

首先建议将所有待处理的DataFrame存入统一列表,后续只需修改一处逻辑即可同步作用于所有对象,无需为单个变量重复写代码。

完整实现步骤

  1. 引入依赖并转换示例数据为DataFrame格式
import pandas as pd

# 示例数据转DataFrame,你的18个DataFrame可沿用原有生成逻辑
a = pd.DataFrame([[1,3], [2,1], [3,4]], columns=['col1', 'col2'])
b = pd.DataFrame([[1,6], [2,9], [3,2]], columns=['col1', 'col2'])
c = pd.DataFrame([[1,5], [2,8], [3,9]], columns=['col1', 'col2'])
  1. 将所有待处理DataFrame存入列表
# 18个DataFrame全部添加到该列表即可
dfs = [a, b, c]
  1. 批量新增第三列

写法1:可读性最高的循环写法(推荐)

for df in dfs:
    # 若第二列有固定列名,可写为 df['col3'] = df['你的第二列列名'] * 4
    df['col3'] = df.iloc[:, 1] * 4

DataFrame属于可变对象,上述操作会直接修改原变量a/b/c的内容,无需额外重新赋值。

写法2:单行实现

如果需要单行完成批量操作,可使用列表推导式:

# 写法1:直接修改原对象
[setattr(df, 'col3', df.iloc[:,1]*4) for df in dfs]

# 写法2:生成新的DataFrame列表,不修改原变量
new_dfs = [df.assign(col3=df.iloc[:,1]*4) for df in dfs]

效果验证

操作完成后直接输出原变量即可看到新增列:

print(a)

输出结果:

col1  col2  col3
0     1     3    12
1     2     1     4
2     3     4    16

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:15:00