如何用Pandas计算Excel表格中行的均值而非列的均值?
Pandas计算每行均值的实现方案
核心修改逻辑
Pandas的mean()方法默认按列计算均值(参数axis=0),要实现按行计算,只需指定参数axis=1即可,完全无需对数据集进行转置操作。
修改后的完整代码
import pandas as pd xlsx = pd.ExcelFile(r'/Users/Admin/file.xlsx') df1 = pd.read_excel(xlsx, 'Sheet1') df2 = pd.read_excel(xlsx, 'Sheet2') # 按行计算中位数 row_medians = df2.median(axis=1, numeric_only=True) # 按行计算均值 row_means = df2.mean(axis=1, numeric_only=True)
关键参数说明
axis=1:指定计算方向为行,axis=0是默认的列计算方向numeric_only=True:确保仅对数值型列进行计算,避免非数值列引发报错
后续绘图参考
拿到每行均值后,可直接用Matplotlib绘制图表,示例如下:
import matplotlib.pyplot as plt # 绘制每行均值的折线图 plt.plot(row_means) plt.title('每行均值分布') plt.xlabel('行索引') plt.ylabel('均值') plt.show()
注:针对8000+行的大数据量,折线图可能会过于密集,可考虑绘制直方图查看均值的整体分布情况。
内容的提问来源于stack exchange,提问作者Frances
相关产品推荐
相关产品推荐

