如何从 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 )
请注意, sharex参数指定两个直方图必须共享相同的 x 轴。
这使得比较两个直方图之间的值的分布变得更加容易。
其他资源
以下教程解释了如何在 Python 中创建其他常见绘图:
如何在 Matplotlib 中绘制多条线
如何从 Pandas DataFrame 创建箱线图
如何在条形图上绘制多个 Pandas 列