Pandas:如何使用 groupby() 和 size()
您可以使用以下方法与 pandas 中的groupby()和size()函数来计算每组出现的次数:
方法 1:对按变量分组的出现次数进行计数
df. groupby (' var1 '). size ()
方法 2:对按多个变量分组的出现次数进行计数
df. groupby ([' var1 ', ' var2 ']). size ()
方法 3:对按多个变量分组并按数字排序的出现次数进行计数
df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )
以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'], ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]}) #view DataFrame print (df) team position points 0 AG 15 1 AG 22 2 AF 24 3 AF 25 4 AF 20 5 BG 35 6 BG 34 7 BG 19 8 BG 14 9 BF 12
示例 1:对按变量分组的出现次数进行计数
以下代码展示了如何使用groupby()和size()函数来统计team列中值的出现次数:
#count occurrences of each value in team column
df. groupby (' team '). size ()
team
AT 5
B5
dtype: int64
从结果中我们可以看到,值A和B在团队列中都出现了5次。
示例 2:对按多个变量分组的出现次数进行计数
以下代码展示了如何使用groupby()和size()函数来计算team和position列中每个值组合的出现次数:
#count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()
team position
AF3
G2
BF 1
G4
dtype: int64
从结果我们可以看出:
- A队和F位出现3次。
- A队和G位置出现了两次。
等等。
示例 3:对按多个变量分组的出现次数进行计数并排序
以下代码展示了如何使用groupby()和size()函数来统计team和position列中每个值组合的出现次数,然后按计数排序:
#count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )
team position
BG 4
AF3
G2
BF 1
dtype: int64
输出显示团队和位置值的每个组合的计数,按计数降序排列。
注意:要按数字升序排序,只需在sort_values()函数中删除ascending=False即可。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何使用 Pandas GroupBy 计算唯一值
如何将函数应用于 Pandas Groupby
如何从 Pandas GroupBy 创建条形图