我有一个频率表df
,频率很高,如此
... freq
(20, 21] 5235211
(21, 22] 5232121
(22, 23] 1241228
(23, 24] 9412034
(24, 25] 2356336
(25, 26] 3782721
(26, 27] 9978733
...
垃圾箱是指数。
我想绘制好的直方图,其分布拟合如here。但
该函数(sns.distplot
)以及其他分布图(df.plot.kde
,df.plot.hist
,df.plot.density
等)仅使用1D列表或Series
。
如何使用频率表来获得相同的结果?由于尺寸较大,将df
展平为1D阵列是不切实际的。
答案 0 :(得分:1)
找到它,plt.hist
有一个名为weights
的参数,我可以传递一个权重数组。只需将freq
列传递给plt.hist
即可。有了Seaborn:
sns.distplot(df.index, hist_kws={"weights":list(df.freq)})