你可以使用groupby()
方法按列分组数据框,然后使用agg()
方法对每个组进行聚合操作来创建一个带有分组数据的新数据框。
下面是一个示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 25, 30, 35, 40, 45],
'City': ['New York', 'London', 'Paris', 'New York', 'London', 'Paris'],
'Salary': [5000, 6000, 7000, 8000, 9000, 10000]}
df = pd.DataFrame(data)
# 按列 'City' 分组,并计算每个城市的平均年龄和工资
grouped_df = df.groupby('City').agg({'Age': 'mean', 'Salary': 'mean'}).reset_index()
# 打印结果
print(grouped_df)
输出结果:
City Age Salary
0 London 32.5 7500
1 Paris 37.5 8500
2 New York 27.5 6500
在上面的示例中,我们首先创建了一个包含姓名、年龄、城市和工资的数据框。然后,我们使用groupby()
方法按城市列进行分组。接下来,使用agg()
方法对每个组进行聚合操作,计算平均年龄和工资。最后,使用reset_index()
方法重置索引,并创建了一个新的数据框grouped_df
。最后,我们打印了结果。