Pandas:如何在使用 groupby() 后获得一个组


在 pandas DataFrame 上使用groupby()函数后,您可以使用以下方法来获取特定组:

方法一:使用groupby()后获取分组

 grouped_df. get_group (' A ')

方法2:使用groupby()后从组中获取特定列

 grouped_df[[' column1 ', ' column3 ']]. get_group (' A ')

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' sales ': [12, 15, 24, 24, 14, 19, 12, 38],
                   ' refunds ': [4, 8, 7, 7, 10, 5, 4, 11]})

#view DataFrame
print (df)

  store sales refunds
0 to 12 4
1 to 15 8
2 to 24 7
3 to 24 7
4 B 14 10
5 B 19 5
6 B 12 4
7 B 38 11

示例 1:使用 groupby() 后获取一个组

以下代码演示如何使用groupby( ) 函数按商店名称对行进行分组,然后使用get_group()函数检索属于组名称为“A”的组的所有行:

 #group rows of DataFrame based on value in 'store' column
grouped_stores = df. groupby ([' store '])

#get all rows that belong to group name 'A'
grouped_stores. get_group (' A ')

    store sales refunds
0 to 12 4
1 to 15 8
2 to 24 7
3 to 24 7

请注意, get_group()返回属于组名称为“A”的组的所有行。

示例 2:使用 groupby() 后从组中获取特定列

以下代码演示如何使用groupby( ) 函数按商店名称对行进行分组,然后使用get_group()函数仅针对“sales”和“Refunds”列检索属于组名称为“A”的组的所有行:

 #group rows of DataFrame based on value in 'store' column
grouped_stores = df. groupby ([' store '])

#get all rows that belong to group name 'A' for sales and refunds columns
grouped_stores[[' store ', ' refunds ']]. get_group (' A ')

    store refunds
0 to 4
1 to 8
2 to 7
3 to 7

请注意, get_group()仅针对“销售”和“退款”列返回属于组名称为“A”的组的所有行。

其他资源

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

如何在 Pandas 中执行 GroupBy 求和
如何在 Pandas 中使用 Groupby 和 Plot
如何在 Pandas 中使用 GroupBy 计算唯一值

添加评论

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