J'utilise des pandas et j'essaie d'interroger le jeu de données du recensement. Je veux extraire les 3 villes dans chaque état selon la population (du plus grand au plus petit). Je contemplé un bref instantané de l'ensemble de données à titre de référence
La sortie que je veux est quelque chose comme ça p>
J'ai essayé d'utiliser Nlargest mais le problème que je suis confronté est que STNAME et CTYName sont des objets. La formule que j'ai essayée est la suivante: p> Un autre moyen de la questionner, j'ai essayé d'utiliser la méthode de groupeby: p> Mais cette formule m'a donné la valeur la plus importante au lieu de 3 plus grandes valeurs. Quelqu'un peut-il aider? P> p>
3 Réponses :
Essayez: P>
df.groupby ('STNAME'). Appliquer (Lambda GRP: GRP.NLARGESSE (3, COLONMES = 'CENSUS2010POP')) CODE> P>
Faites de CtyName comme indice, car ils sont uniques, puis utilisent Groupby STNAME et prenez 3 états populés à l'aide de la méthode NLARGEST.
df = df.set_index('CTYNAME')
df.groupby('STNAME')['CENSUS2010POP'].nlargest(3).reset_index()
Ajoutez toujours des explications à vos réponses pour expliquer à l'OP et aux autres ce que vous résolvez.
Une autre solution: