2017-01-18 5 views
-1

問題のデータセット:上記の画像では、データセットのショーのためにデータフレーム内の3つの最大値を見つける方法は?

enter image description here

のみ考慮にそれぞれのための3つの最も人口の多い郡をしながら、私は3番目に人口の多い州を見つけようとしています状態。私はCENSUS2010POPを使用します。

この関数は、文字列の値のリストを返す必要があります。

以下

が私のコードです:

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

この文は、内ITグループ各状態の3番目に人口の多い郡シリーズを返します。

ここで、最も人口の多い州をさらに見つけるために、これを超えて私は何をしますか?

私はループを使用していますか、これにアプローチするもう1つの効率的な方法がありますか?

答えて

1

てみ関数に合計を()追加:

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 
関連する問題