我有一个测试分数的频率表:
score count
----- -----
77 1105
78 940
79 1222
80 4339
etc
Run Code Online (Sandbox Code Playgroud)
我想显示由频率表总结的样本的基本统计数据和箱线图。(例如,上例的平均值为 79.16,中位数为 80。)
有没有办法在 Pandas 中做到这一点?我见过的所有例子都假设有一个个案表。
我想我可以生成一个个人分数列表,就像这样——
In [2]: s = pd.Series([77] * 1105 + [78] * 940 + [79] * 1222 + [80] * 4339)
In [3]: s.describe()
Out[3]:
count 7606.000000
mean 79.156324
std 1.118439
min 77.000000
25% 78.000000
50% 80.000000
75% 80.000000
max 80.000000
dtype: float64
Run Code Online (Sandbox Code Playgroud)
——但我希望避免这种情况;真实非玩具数据集中的总频率高达数十亿。
任何帮助表示赞赏。
(我认为这是一个与使用describe()与加权数据不同的问题,后者是关于将权重应用于个别情况。)