在使用count()和aggregate()函数之后,可以使用rename()函数来手动设置列名,避免自动生成列名。
下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick'],
'Age': [20, 21, 22, 20, 21],
'Score': [90, 85, 95, 90, 85]}
df = pd.DataFrame(data)
# 使用count()函数计算每个名字出现的次数
count_df = df.groupby('Name').count().reset_index()
count_df = count_df.rename(columns={'Age': 'Count'})
# 使用aggregate()函数计算每个名字的最大分数和最小分数
aggregate_df = df.groupby('Name').aggregate({'Score': ['max', 'min']}).reset_index()
aggregate_df.columns = ['Name', 'Max Score', 'Min Score']
print(count_df)
print(aggregate_df)
输出结果:
Name Count
0 John 1
1 Nick 2
2 Tom 2
Name Max Score Min Score
0 John 95 95
1 Nick 85 85
2 Tom 90 90
在以上示例中,我们使用rename()函数手动设置了count_df的列名为'Count',并使用了aggregate()函数的columns参数来设置aggregate_df的列名。这样就避免了自动生成列名。