如何绘制没有 0 的数据帧的单列(直方图)

How to plot a single column of a dataframe with no 0s (histogram)

我有一个巨大的数据框,如下所示:

                   Date   value
1   2022-01-01 00:00:00   0.000
2   2022-01-01 01:00:00   0.000
3   2022-01-01 02:00:00   0.000
4   2022-01-01 08:00:00   0.058
5   2022-01-01 09:00:00   4.419
6   2022-01-01 10:00:00  14.142

我只想在直方图中绘制 'value' 列但不包含 0 值。我该怎么做?

我试过了:

plt.hist(df['value' >0], bins=50)
plt.hist(df['value' =! 0], bins=50)

但运气不好。有什么想法吗?

非常感谢

df['value' > 0] 存在语法错误 -- 需要是 df[df['value'] > 0]df[df.value > 0]

这个想法是你用 df.value:

创建一个布尔索引
>>> df.value > 0
0    False
1     True
2    False
3     True
4     True
5     True
Name: value, dtype: bool

然后在 df 上使用该索引检索 True 索引:

>>> df[df.value > 0]
date    value
1   2022/01/01  0.100
3   2022/01/01  0.058
4   2022/01/01  4.419
5   2022/01/01  14.142

在作图方面,也可以直接用pandas作图:

>>> df[df.value > 0].plot.hist(bins=50)