如何从 pandas dataframe 创建直方图


您可以使用以下基本语法从 pandas DataFrame 创建直方图:

 df. hist (column=' col_name ')

以下示例展示了如何在实践中使用此语法。

示例 1:绘制单个直方图

以下代码展示了如何为 pandas DataFrame 中的特定列创建单个直方图:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 7, 7, 8, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12, 10, 7, 7, 9]})

#view first five rows of DataFrame
df. head ()

	points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#create histogram for 'points' column
df. hist (column=' points ')

我们还可以使用特定的颜色、样式、标签和箱数自定义直方图:

 #create custom histogram for 'points' column
df. hist (column=' points ', bins= 5 , grid= False , rwidth= .9 , color=' purple ')

熊猫直方图

x 轴显示每个玩家得分,y 轴显示有多少玩家得分的频率。

示例 2:绘制多个直方图

以下代码显示了如何从 pandas DataFrame 绘制多个直方图:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ':['A', 'A', 'A', 'A', 'A', 'A',
                           'B', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33]})

#view first five rows
df. head ()

        team points
0 to 25
1 to 12
2 to 15
3 to 14
4 to 19

#create histogram for each team
df. hist (column=' points ', by=' team ', bins= 3 , grid= False , rwidth= .9 ,
        color=' purple ', sharex= True )

pandas 中的几个直方图

请注意, sharex参数指定两个直方图必须共享相同的 x 轴。

这使得比较两个直方图之间的值的分布变得更加容易。

其他资源

以下教程解释了如何在 Python 中创建其他常见绘图:

如何在 Matplotlib 中绘制多条线
如何从 Pandas DataFrame 创建箱线图
如何在条形图上绘制多个 Pandas 列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注