私は国勢調査データのパンダdataframe
を持っています。列には、STNAME
(州名)CTYNAME
(郡名)と、年に国勢調査レポートで収集されたさまざまなデータの多くの列が含まれています。3列と基準によるパンダのデータフレームの検索
私はトップ3の最も人口の多い州を探していますが、州ごとに最も人口の多い3つの県だけを探しています。ここで
ビットを、元のデータフレームを真っ直ぐにし、唯一の問題に関連するものを含む私の現在のコードである:
def answer():
census_df50 = census_df[census_df['SUMLEV'] == 50]
columns = ['STNAME', 'CTYNAME', 'CENSUS2010POP']
c = census_df50[columns]
return c
print(answer())
、ここで端末に印刷データフレームの例である:
STNAME CTYNAME CENSUS2010POP
1 Alabama Autauga County 54571
2 Alabama Baldwin County 182265
3 Alabama Barbour County 27457
4 Alabama Bibb County 22915
5 Alabama Blount County 57322
6 Alabama Bullock County 10914
7 Alabama Butler County 20947
8 Alabama Calhoun County 118572
アラバマの国勢調査データは郡名でのみ表示されますが、データフレームには3000行以上あります(各郡ごとに1つずつ、複数の州があります)
私のアプローチは、STNAME
の各状態について、CENSUS2016POP
の値(2010年の人口を表す整数)に基づいて、上位3郡をCTYNAME
に見つける関数を書くことです。次に、関数がこの基準によって上位3状態の文字列として名前を返すようにします。しかし、これを達成する方法はかなり失われています。
私はこれらの機能の組み合わせを使用しようとしているはずです。.groupby()
、.set_index()
、.nlargest()
。
ご協力いただければ幸いです!
将来データのサンプルを投稿することができれば幸いです。 –