pandas绘制直方图。可以用概率/密度代替计数吗?
在pandas中,直方图显示的是每个区间的数量,而不是归一化的比例。在R语言中,这个选项是可以选择的。那么在Pandas中有没有类似的功能呢?如果没有,有没有简单的解决办法?
2 个回答
6
你可以像这样给 hist 函数传递密度参数:
df.hist(..., density=True)
在这里,密度参数作为 kwds 传递给 np.hist。
参考资料: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.hist.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
9
对我来说,这样做得到了想要的结果。
df = pd.DataFrame(np.random.randn(5000))
df.hist(normed = True)
在numpy的直方图函数中,'density'选项可以正常使用,但在pandas的hist函数中却不行。
2023年9月的更新: 大约在2020年,Pandas似乎开始使用density来代替normed。正如约翰所指出的,新的可用代码如下:
df = pd.DataFrame(np.random.randn(5000))
df.hist(density = True)