微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 具有加权数据的分布型图(histogram / kde)

简而言之,当我的数据加权时,对于分布式图形(直方图或kde),我的最佳选择是什么?

df = pd.DataFrame({ 'x':[1,2,3,4], 'wt':[7,5,3,1] })

df.x.plot(kind='hist',weights=df.wt.values)

这工作正常但是seaborn不会接受权重kwarg,即

sns.distplot( df.x, bins=4,              # doesn't work like this
              weights=df.wt.values )     # or with kde=False added

如果kde能接受重量也不错,但是大熊猫和海鸟似乎都不允许它.

我知道btw数据可以扩展以伪造加权,这在这里很容易,但对我的数据或数千的权重的真实数据没有多大用处,所以我不是在寻找像这样的解决方法.

无论如何,就是这样.我只是试图找出除了基本的熊猫直方图之外我可以用加权数据做什么(如果有的话).我还没有骗过散景,但欢迎散景建议.

解决方法:

您必须了解seaborn使用pandas使用的非常matplotlib绘图功能.

正如documentation所述,sns.distplot不接受权重参数,但它确实需要一个hist_kws参数,该参数将被发送到对plt.hist的底层调用.因此,这应该做你想要的:

sns.distplot(df.x, bins=4, hist_kws={'weights':df.wt.values}) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐