如何用循环在Python中计算DataFrame所有列的均值并生成新表
计算DataFrame各列均值并生成新DataFrame的简洁方法
最优方案(无需遍历)
其实Pandas本身就有简洁的内置方法,不用手动遍历列就能实现需求:
import pandas as pd # 假设你的原始数据是df mean_df = df.mean().to_frame().T
df.mean():计算每一列的均值,返回一个索引为原列名的Seriesto_frame():把Series转换为单列DataFrame.T:转置DataFrame,得到一行多列的结果,正好是你要的新DataFrame
遍历列的实现方式
如果一定要通过遍历列来完成,可以用字典暂存均值,再转成DataFrame:
import pandas as pd mean_data = {} # 遍历所有列名 for col_name in df.columns: # 计算当前列的均值并存入字典 mean_data[col_name] = df[col_name].mean() # 将字典转换为新的DataFrame mean_df = pd.DataFrame([mean_data])
这种方式会自动处理所有列,不管你的DataFrame有多少列,都不用逐个手动赋值,比你之前的方法更灵活简洁。
内容的提问来源于stack exchange,提问作者NoobieD
相关产品推荐
相关产品推荐

