Python列表统计结果异常求助:Pandas计算值与Excel不符
问题原因与修正方案
错误根源
你错在对describe()返回的统计摘要Series再次调用统计方法。pd.Series.describe()会返回一个包含原数据的count、mean、std、min、分位数、max等统计值的新Series,此时你再对这个新Series调用.mean()、.median()等,计算的是这些统计值的统计量,而非原数据的统计结果。
修正后的代码
直接对原始Series调用所需的统计方法即可:
import pandas as pd list_runs_stats = [4.149432, 3.133142, 3.182976, 2.620959, 3.200038, 2.66668, 2.604444, 2.683382, 3.249564, 3.149947] s = pd.Series(list_runs_stats) # 直接对原始Series调用统计方法 print(s.mean()) print(s.min()) print(s.max()) print(s.median()) print(s.count())
运行结果验证
运行修正后的代码,结果会和Excel计算的一致:
- 均值:
3.0640564 - 中位数:
3.1415445 - 最小值:
2.604444 - 最大值:
4.149432 - 计数:
10
如果需要一次性查看所有统计摘要,直接打印describe()的结果即可,其中的mean和median就是原数据的对应统计值:
print(s.describe())
内容的提问来源于stack exchange,提问作者Zio
相关产品推荐
相关产品推荐

