Pandas:为 dataframe 中的每一列创建一个直方图
您可以使用以下基本语法为 pandas DataFrame 的每一列创建直方图:
import pandas as pd import matplotlib. pyplot as plt #define number of subplots fig, axis = plt. subplots (1, 3) #create histogram for each column in DataFrame df. hist (ax=axis)
此特定示例使用subplots()函数指定 DataFrame 中有3列,然后为每列创建一个直方图。
以下示例展示了如何在实践中使用此语法。
示例:为 Pandas 直方图中的每一列创建一个直方图
假设我们有以下包含三列的 pandas DataFrame:
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (1) #createDataFrame df = pd. DataFrame ({' points ': np. random . normal (loc=20, scale=2, size=300), ' assists ': np. random . normal (loc=14, scale=3, size=300), ' rebounds ': np. random . normal (loc=12, scale=1, size=300)}) #view head of DataFrame print ( df.head ()) points assists rebounds 0 23.248691 20.197350 10.927036 1 18.776487 9.586529 12.495159 2 18.943656 11.509484 11.047938 3 17.854063 11.358267 11.481854 4 21.730815 13.162707 10.538596
我们可以使用以下语法为 DataFrame 的三列中的每一列创建直方图:
import matplotlib. pyplot as plt
#define format for subplots (1 row and 3 columns)
fig, axis = plt. subplots (1, 3)
#create histogram for each column in DataFrame
df. hist (ax=axis)
结果是一个一行三列的网格,显示 DataFrame 每一列的直方图。
如果需要,您可以使用Figsize参数来更改直方图的大小,以及使用edgecolor和grid参数来改善直方图的外观:
import matplotlib. pyplot as plt
#define format for subplots
fig, axis = plt. subplots (1, 3, figsize=(8,3))
#create histogram for each column in DataFrame
df. hist (ax=axis, edgecolor=' black ', grid= False )
请随意使用subplots()函数的参数来定义直方图的确切格式和大小。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何更改 Pandas 直方图中使用的 bin 数量
如何更改Pandas直方图中X轴的范围
如何在 Pandas 中按组绘制直方图