📜  打印 groupby 数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:25:44.972000             🧑  作者: Mango

打印 groupby 数据框 - Python

在使用 Pandas 进行数据分析时,经常需要进行分组操作。使用 groupby 函数可以方便地对数据集进行分组,然而我们也需要打印出分组后的结果来进行分析总结。

1. groupby 函数

groupby 是一个非常重要的函数,它可以将数据集按照某些列进行分组。下面是 groupby 函数的用法:

df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False)

其中的参数说明如下:

  • by:用于确定分组的列名或多个列名;
  • axis:用于确定按行或列进行分组,0 表示按行,1 表示按列,默认按行;
  • level:用于多级索引时指定索引层级;
  • as_index:bool 类型,表示是否将分组列作为结果中的索引;
  • sort:bool 类型,表示是否对结果进行排序;
  • group_keys:bool 类型,表示是否将分组键作为结果中的索引;
  • squeeze:bool 类型,当分组结果只有一个分组时,是否返回 Series 对象;
  • observed:bool 类型,是否包括所有出现在分组键中的类别。
2. 打印分组结果

对于分组结果,我们可以使用循环进行遍历,或者使用 apply 函数对分组结果应用自定义函数。下面是一个示例:

import pandas as pd

data = [['A', 'B', 1], ['A', 'B', 2], ['A', 'C', 3], ['B', 'C', 4], ['B', 'D', 5]]
columns = ['col1', 'col2', 'col3']
df = pd.DataFrame(data=data, columns=columns)

grouped = df.groupby(['col1', 'col2'])

# 方法一:使用循环遍历分组结果
for group_name, group_df in grouped:
    print(f"Group name: {group_name}")
    print(group_df)

# 方法二:使用 apply 函数,对分组结果应用自定义函数
def group_summary(group_df):
    return group_df.describe()

grouped.apply(group_summary)

这里我们使用列表达式 ['col1', 'col2'] 对数据集进行分组,然后使用两种方法进行打印:一是使用循环对分组结果进行遍历,二是使用 apply 函数应用自定义函数。

3. 总结

使用 groupby 函数对数据集进行分组是数据分析中的常用操作,而对分组结果进行打印则可以更方便地进行分析总结。根据需要选择适当的打印方式即可。在使用 Pandas 进行数据分析时,了解 groupby 函数的使用方法是非常重要的。