import pandas as pd
# 示例数据
data = {
'Team': ['Red', 'Blue', 'Red', 'Blue'],
'Rank': [1, 2, 2, 1],
'Year': [2014, 2015, 2016, 2017],
'Points': [88, 86, 85, 87]
}
df = pd.DataFrame(data)
# 1. 按Team分组并计算每个Team的平均Points
grouped_data = df.groupby('Team')['Points'].mean()
print(grouped_data)
# 2. 按Team和Rank分组并计算每个组的Points总和
grouped_data = df.groupby(['Team', 'Rank'])['Points'].sum()
print(grouped_data)
# 3. 按Year分组并计算每个Year中的Points的平均值,并按平均值降序排序
grouped_data = df.groupby('Year')['Points'].mean().sort_values(ascending=False)
print(grouped_data)
# 4. 按Team分组,计算每个Team的Points的最大值,并按最大值降序排序
grouped_data = df.groupby('Team')['Points'].max().sort_values(ascending=False)
print(grouped_data)
# 5. 按Rank分组并计算每个Rank对应的Team的数量
grouped_data = df.groupby('Rank')['Team'].count()
print(grouped_data)
# 6. 按Year分组,计算每个Team的Points的总和,并按年份进行筛选,只保留2016年的数据
grouped_data = df.groupby('Year')['Points'].sum()
filtered_data = grouped_data[grouped_data.index == 2016]
print(filtered_data)
# 7. 按Team分组,计算每个Team在2016年获得的Points的总和
grouped_data = df[(df['Year'] == 2016)].groupby('Team')['Points'].sum()
print(grouped_data)
# 8. 按Team分组,计算每个Team在2014年和2016年获得的Points的总和,并按总和降序排序
grouped_data = df[df['Year'].isin([2014, 2016])].groupby('Team')['Points'].sum().sort_values(ascending=False)
print(grouped_data)
# 9. 按Team分组,计算每个Team在2014年和2016年获得的Points的总和,并筛选出总和大于170的Team
grouped_data = df[df['Year'].isin([2014, 2016])].groupby('Team')['Points'].sum()
filtered_data = grouped_data[grouped_data > 170]
print(filtered_data)
# 10. 按Team分组,计算每个Team在2014年和2016年获得的Points的总和,并按Rank降序排序
grouped_data = df[df['Year'].isin([2014, 2016])].groupby('Team')['Points'].sum()
sorted_data = grouped_data.sort_values(ascending=False)
print(sorted_data)
# 11. 按Team分组,计算每个Team在2014年和2016年获得的Points的总和,并按Rank降序排序,然后取前两名
top_teams = df[df['Year'].isin([2014, 2016])].groupby('Team')['Points'].sum().sort_values(ascending=False)[:2]
print(top_teams)
# 12. 按Team分组,计算每个Team的Points的总和,并按Year进行分组,然后计算
评论已关闭