gpt4 book ai didi

python - 如何找到数据框中的三个最大值?

转载 作者:行者123 更新时间:2023-12-04 00:06:21 25 4
gpt4 key购买 nike

问题中的数据集:

enter image description here

对于上图中显示的数据集,我试图找到人口最多的三个州,同时只考虑每个州的三个人口最多的县。我使用 CENSUS2010POP

这个函数应该返回一个字符串值列表(按照人口最多到最低的顺序)。

以下是我的代码:

x=census_df.groupby('STNAME')['CENSUS2010POP'].nlargest(3)

此语句返回一个序列,其中将每个州的三个人口最多的县分组。

现在,除此之外我还能做些什么来进一步找到人口最多的州?

我是使用循环还是有其他有效的方法来解决这个问题?

最佳答案

尝试将 sum() 添加到函数中:

df = pd.DataFrame({'STNAME': ['Alabama', 'Alabama', 'Alabama', 'Alabama', 'Alaska', 'Alaska', 'Alaska', 'Alaska','New York', 'New York', 'New York', 'New York', 'California'], 
'CTYNAME': ['a', 'b', 'c', 'd', 'z', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'],
'CENSUS2010POP': [120000, 230000, 89000, 43000, 23000, 34000, 120000, 10000, 1200000, 1300000, 9800000, 560000, 45000]})

x=df.groupby('STNAME')['CENSUS2010POP'].sum().nlargest(3)

输出:

STNAME
New York 12860000
Alabama 482000
Alaska 187000
Name: CENSUS2010POP, dtype: int64

关于python - 如何找到数据框中的三个最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com