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 计算唯一值