Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用索引标签将数据帧划分为多个组,并根据每个索引在特定列中查找3个最大值_Python_Pandas_Numpy_Data Science - Fatal编程技术网

Python 如何使用索引标签将数据帧划分为多个组,并根据每个索引在特定列中查找3个最大值

Python 如何使用索引标签将数据帧划分为多个组,并根据每个索引在特定列中查找3个最大值,python,pandas,numpy,data-science,Python,Pandas,Numpy,Data Science,我有这样一个数据帧: STNAME CTYNAME POPESTIMATE Alabama Autauga County 54660 Alabama Baldwin County 183193 Alabama Barbour County 27341 Alabama Bibb County 22861 Alabama Blount County

我有这样一个数据帧:

STNAME         CTYNAME           POPESTIMATE    
Alabama        Autauga County     54660
Alabama        Baldwin County     183193
Alabama        Barbour County     27341
Alabama        Bibb County        22861
Alabama        Blount County      57373  
.......        ...............    .....
Wyoming        Sweetwater County  43593
Wyoming        Teton County       21297
Wyoming        Uinta County       21102

.......      .............      ......  
.......        .............       .....  

and so on............  
在这里,我必须找出每个州的三个人口最多的城市(CTYNAME),并对每个州的人口进行汇总(使用POPESTIMATE),我们可以将其称为每个州的人口,根据人口数据(每个州只有三个人口最多的城市),我必须找出三个人口最多的州,并将其打印在列表中。
我在pandas图书馆尝试了多种方法,但都不管用。 谁能帮我一下吗。

拆分df:

df = df.groupby('STNAME',as_index=True)
print(df.apply(lambda s: pd.Series(s.nlargest(3).index)))
拆分df:

df = df.groupby('STNAME',as_index=True)
print(df.apply(lambda s: pd.Series(s.nlargest(3).index)))

查看
pd.DataFrame.groupby
nlargest
查看
pd.DataFrame.groupby
nlargest