为什么我的直方图条显示所有显示频率为1

时间:2018-04-22 20:02:32

标签: python python-3.x pandas matplotlib

我有一系列(114行),带有索引时间戳和百分比(astype float)。

testseries.head()
Out[100]: 
Timestamps
2018-04-19 13:23:57-04:00    0.000161238
2018-04-06 13:59:50-04:00     -0.0169348
2018-04-04 11:39:41-04:00      0.0475188
2018-04-03 14:53:37-04:00    -0.00231244
2018-03-29 14:09:57-04:00      0.0209815
Name: Change, dtype: object

我试图创建这些分布的直方图,因为我之前已多次做过,但是当我打电话时我得到了意想不到的结果

testseries.hist()

link to image of output hist

我尝试过各种选项,例如设置密度=真,更改箱数,或在matplotlib与熊猫中绘图,但结果总是一系列细条高度等于最大值y轴。

造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

直方图正确显示每个值出现一次。为了显示更平滑的东西,您可能希望按分位数和计数对计数进行分组,显示结果的直方图:

testseries.groupby(pd.cut(testseries.astype(float), 10)).sum().hist()

示例

import pandas as pd
import numpy as np

testseries = pd.Series(np.random.randn(100000))

testseries.groupby(pd.cut(testseries.astype(float), 10)).sum().hist();

enter image description here