📜  pandas print groupby - Python (1)

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

Pandas中的groupby函数

Pandas是Python中用于数据处理和数据分析的一个重要库。其中groupby函数是Pandas中用于将数据按照某些规则分组的函数。以下将介绍groupby函数的用法。

示例数据

我们使用以下数据来演示groupby函数:

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'], 
        'Sex': ['Female', 'Male', 'Male', 'Male', 'Female', 'Male'], 
        'Age': [25, 35, 50, 20, 30, 45], 
        'Salary': [5000, 4000, 6000, 3000, 4500, 5500]}

df = pd.DataFrame(data)
按照某一列进行分组

我们使用groupby函数按照Sex列对数据进行分组,并将结果保存到变量grouped中:

grouped = df.groupby(['Sex'])

我们可以对grouped变量进行计数、求和、均值等一系列操作。以下是几个示例:

# 对年龄进行计数
grouped['Age'].count()

# 对年龄求和
grouped['Age'].sum()

# 对薪资取平均值
grouped['Salary'].mean()
多列分组

我们也可以使用多列进行分组。以下是一个示例:

grouped = df.groupby(['Sex', 'Age'])
筛选分组数据

我们可以根据一些特定的条件筛选分组数据。以下是一个示例:

grouped = df.groupby(['Sex'])
grouped_filter = grouped.filter(lambda x: x['Age'].mean() > 25)

以上代码将筛选出Age列的均值大于25的所有数据。

另外,我们也可以对分组数据进行遍历,以下是一个示例:

grouped = df.groupby(['Sex'])

for name, group in grouped:
    print(name)
    print(group)

以上代码将按照Sex列进行分组,并分别打印出分组名和分组数据。