如何在一个数据框架中从每个地区找到幸福感得分最低和最高的国家?

2024-05-15 06:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧“df”,它有[Country,Region,Happiness Score,Year]

df中总有{}个国家拥有{}的数据,因此df的长度为{}

df中总共有10个独特的区域,每个国家的“区域”列中都有其区域名称

我想制作一个输出,显示每个地区的最低和最高幸福指数

例如,输出应该具有类似[Region,Min Happiness Score,Max Happiness Score,Country的列,该区域的幸福感得分最低,该区域的幸福感得分最高的国家]

由于有10个独特的区域,很明显,输出的长度也应该为10。使用pandas函数和pandasql的解决方案都是受欢迎的,但我更喜欢使用带有pandas函数的解决方案


Tags: 数据函数名称区域pandasdf国家解决方案
1条回答
网友
1楼 · 发布于 2024-05-15 06:31:44

这将接近您的目标-按区域分组并查找最小值和最大值:

mins = df.groupby('Region')['Happiness Score'].min()
maxs = df.groupby('Region')['Happiness Score'].max()
df2=pd.concat([mins,maxs],axis=1)
df2.columns=(['Min Happiness Score','Max Happiness Score'])
df2['Region']=mins.index

在Q.Hoang的好评论之后编辑-你可以用

df.groupby(['Country','Region'])['Happiness Score'].agg(['min','max'])

这将为您提供国家、地区和每个地区的最低/最高分数。对我来说,最重要的是有很多函数接受列表参数

相关问题 更多 >

    热门问题