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参数来更改直方图的大小,以及使用edgecolorgrid参数来改善直方图的外观:

 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 ) 

pandas 为 DataFrame 中的每一列创建一个直方图

请随意使用subplots()函数的参数来定义直方图的确切格式和大小。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何更改 Pandas 直方图中使用的 bin 数量
如何更改Pandas直方图中X轴的范围
如何在 Pandas 中按组绘制直方图

添加评论

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