pandas.DataFrame.plot.hist#

DataFrame.plot.hist(by=None, bins=10, **kwargs)[源代码]#

绘制 DataFrame 列的一个直方图。

直方图是数据分布的表示。该函数将 DataFrame 中所有给定的 Series 的值分组到箱中,并在一个 matplotlib.axes.Axes 中绘制所有箱。当 DataFrame 的 Series 处于相似的尺度时,这非常有用。

参数:
通过str 或序列,可选

要分组的 DataFrame 中的列。

在 1.4.0 版本发生变更: 之前,by 被静默忽略,不进行分组。

binsint, 默认 10

要使用的直方图箱数。

**kwargs

其他关键字参数在 DataFrame.plot() 中记录。

返回:
matplotlib.axes.Axes

返回一个直方图绘图。

参见

DataFrame.hist

为 DataFrame 的 Series 绘制直方图。

Series.hist

用 Series 的数据绘制直方图。

例子

当我们掷骰子6000次时,我们期望每个值大约出现1000次。但当我们掷两个骰子并求和时,分布将会非常不同。直方图可以说明这些分布。

>>> df = pd.DataFrame(np.random.randint(1, 7, 6000), columns=["one"])
>>> df["two"] = df["one"] + np.random.randint(1, 7, 6000)
>>> ax = df.plot.hist(bins=12, alpha=0.5)
../../_images/pandas-DataFrame-plot-hist-1.png

通过提供参数 `by`(可以是列名,或列名列表)可以生成一个分组直方图:

>>> age_list = [8, 10, 12, 14, 72, 74, 76, 78, 20, 25, 30, 35, 60, 85]
>>> df = pd.DataFrame({"gender": list("MMMMMMMMFFFFFF"), "age": age_list})
>>> ax = df.plot.hist(column=["age"], by="gender", figsize=(10, 8))
../../_images/pandas-DataFrame-plot-hist-2.png