pandas.DataFrame.plot.hist#

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

绘制 DataFrame 列的直方图。

直方图是数据分布的一种表示。此函数将 DataFrame 中所有给定 Series 的值分组到 bin 中,并在一个 matplotlib.axes.Axes 中绘制所有 bin。当 DataFrame 的 Series 具有相似的尺度时,这很有用。

参数:
bystr 或序列,可选

用于分组的 DataFrame 中的列。

binsint,默认 10

要使用的直方图 bin 的数量。

**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