如何在for循环中为Pandas DataFrame添加新列 实现均值数据横向展示
代码调整方案
以下是可直接运行的调整后代码:
from random import randint import numpy as np import pandas as pd mean_list = [] for i in range(2): value = randint(0,10) for j in range(2): mean_val = np.mean(value) mean_list.append(mean_val) # 构造单行多列DataFrame cols = [f'mean_{idx+1}' for idx in range(len(mean_list))] result = pd.DataFrame([mean_list], columns=cols) result
核心改动说明
- 补充缺失的
pandas导入,修正原代码的缩进错误,避免运行报错 - 移除循环内重复创建DataFrame的冗余逻辑,所有均值计算完成后统一处理
- 构造DataFrame时将存储均值的一维列表用
[]包裹,转为符合单行结构要求的二维数组 - 自动生成带数字后缀的列名,匹配需要的
mean_1到mean_4格式
运行后输出结果如下:
mean_1 mean_2 mean_3 mean_4 0 8 8 9 9
内容的提问来源于stack exchange,提问作者Niam45
相关产品推荐
相关产品推荐

