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

Python中如何从多个有序命名的dataframe中提取指定列均值

你代码中通过字符串拼接得到的var是字符串类型,并不是你实际定义的DataFrame变量对象,因此无法调用DataFrame的列属性,才会触发对应的AttributeError。

解决方案

方案1:适配现有变量命名的快速修改

通过globals()方法获取全局命名空间中的实际DataFrame对象,修改后的代码如下:

mean_list = []
dfnum = range(1, 101)
for i in dfnum:
    var_name = f'dataframe_{i}'
    # 从全局变量中取出对应名称的DataFrame对象
    current_df = globals()[var_name]
    # 此处column替换为你实际要计算的列名,用[]取值比.属性调用兼容性更好
    col_mean = current_df['column'].mean()
    mean_list.append(col_mean)

注意:不要用mean作为变量名,会和pandas内置的mean()方法重名,容易引发后续其他错误

方案2:更规范的写法(推荐)

后续处理批量同结构DataFrame时,建议直接将所有DataFrame存入列表或字典,不需要单独定义100个带序号的变量,后续批量操作会更便捷:

# 生成DataFrame时直接存入列表,无需单独定义dataframe_1到dataframe_100
df_list = []
for i in range(100):
    # 此处替换为你实际生成单个DataFrame的逻辑
    current_df = 生成DataFrame的代码
    df_list.append(current_df)

# 直接遍历列表计算均值,一行代码即可完成
mean_list = [df['column'].mean() for df in df_list]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 22:15:00