Pandas:如何绘制值的数量(带有示例)


您可以使用 pandas 中的value_counts()函数来计算 DataFrame 给定列中值的出现次数。

您可以使用以下方法之一来绘制value_counts()函数产生的值:

方法1:按降序绘制值的数量

 df. my_column . value_counts (). plot (kind=' bar ')

方法2:按升序绘制值的数量

 df. my_column . value_counts (). sort_values (). plot (kind=' bar ')

方法 3:按照 DataFrame 中出现的顺序绘制值计数

 df. my_column . value_counts ()[df. my_column . unique ()]. plot (kind=' bar ')

以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   ' points ': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print (df)

  team points
0 to 15
1 to 12
2 B 18
3 B 20
4 B 22
5 B 28
6 B 35
7 C 40

#calculate occurrences of each value in 'team' column
df. team . value_counts ()

B5
At 2
C 1
Name: team, dtype: int64

示例 1:按降序绘制值的数量

以下代码展示了如何按降序在条形图中绘制值的数量:

 #plot value counts of team in descending order
df. team . value_counts (). plot (kind=' bar ') 

x 轴显示团队名称,y 轴显示每个团队的频率。

请注意,默认情况下,条形图按降序排序。

注意:如果您想创建水平条形图,只需在kind参数中将bar替换为barh即可。

示例 2:按升序绘制值的数量

以下代码展示了如何按升序在条形图中绘制值的数量:

 #plot value counts of team in descending order
df. team . value_counts (). sort_values (). plot (kind=' bar ')

请注意,条形现在按升序排序。

示例 3:按照值计数在 DataFrame 中出现的顺序绘制值计数

以下代码展示了如何根据值在 DataFrame 中出现的顺序在条形图中绘制值的数量:

 #plot value counts of team in order they appear in DataFrame
df. team . value_counts ()[df. team . single ()]. plot (kind=' bar ')

现在,条形图根据它们在 DataFrame 中出现的顺序进行排序。

例如,值“A”首先出现在团队列中,然后出现“B”,最后出现“C”。

这就是条形图在条形图中的放置顺序。

其他资源

以下教程解释了如何执行其他常见的 panda 任务:

Pandas:如何向绘图添加标题
Pandas:如何创建情节标题
Pandas:如何从 GroupBy 创建条形图

添加评论

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