これは意味がある場合、いくつかのフィルタリングレベルを持つ大量のデータをリストするデータフレームに苦労しています。だから私のデータはアルファベット順に州名ごとにソートされています。第2のフィルタリングレベルは、郡ごとの母集団データに適用されます。私が使用したフィルタリングはでした。私は現在、州ごとに最高の人口郡数を3つ抽出する必要があり、私はこれをどのように追求するのか迷っています。Pandasを使用してネストされたソート済みデータフレームのnlargestを返す
だから私のデータは、この(私はここで行インデックスを省略)のようなものになります。
State County Population
Alabama a 100
Alabama b 50
Alabama c 40
Alabama d 5
Alabama e 1
...
Wyoming a.51 180
Wyoming b.51 150
Wyoming c.51 56
Wyoming d.51 5
は、今私は私のデータフレームから欲しいもの状態につき最高人口郡を取得することです。私の初期の推測は、パンダを使ったことがないとは思えませんでした。このような何か(明らかerronous):
list_l = []
for i in df['State'].unique(): #Get a series with every unique state listed once
list_l.append(df[(df['State'] == i])).nlargest(3)
return list_l
これを入力した場合でも、私はそれが完全に意味がありませんが、私はそれをよりよく説明するのかわからない知っています。誰かが助けることを願っています。
乾杯
申し訳ありませんが、あなたは[ '人口'] 'df.groupby( '国家')の後にある(nlargest 3) '? – EdChum
上記のコードスニペットのインデックスを使用して、メインのdf: 'df.loc [df.groupby( 'State')['Population']にインデックスを戻します。nlargest(3).index.get_level_values(1) – EdChum
こんにちはエド、はい、それは私が何をしています。私はまだパンダを考える方法について頭を悩ましている。 – gaatjeniksaan