はじめに
この記事はPandasでデータフレームをcsvファイルに書き込む|Pythonの続き
今回はソートを行う
具体的には、愛知県の2024年9月1日時点の推計人口を市区町村別で多い順に並べる
ソートを行うメソッドsort_values()
Pandas.Dataframeクラスにはsort_valuesというメソッドがあり、このメソッドでデータフレーム中の値のソートができる
第一引数にはソートの基準となる列のラベルを指定する
デフォルトでは昇順なので、降順にするにはascending=Falseとする
ソート後、行ラベルを新たに0からつけるにはignore_index=Trueとする
サンプルコード
import pandas as pd
df = pd.read_csv('population.csv', encoding='shift_jis')
df = df[(df["国籍区分"]=="a)日外") & (df["性別"]=="a)男女")]
df = df[["郡市", "区町村", "20240901"]]
print(df.sort_values("20240901", ascending=False, ignore_index=True))
今回は、日本人と外国人、男性と女性を区別せずに市区町村別の総人口を調べたいので5行目で行を抽出している
また、7行目では必要な列だけを表示するために列を抽出している
実行結果
郡市 区町村 20240901
0 ― ― 7465512.0
1 名古屋市 ― 2330385.0
2 豊田市 ― 414698.0
3 岡崎市 ― 381379.0
4 一宮市 ― 372962.0
.. ... ... ...
66 知多郡 南知多町 15014.0
67 海部郡 飛島村 4453.0
68 北設楽郡 設楽町 3877.0
69 北設楽郡 東栄町 2602.0
70 北設楽郡 豊根村 896.0
[71 rows x 3 columns]
0行目に愛知県全体の人口データが残ってしまったが、昇順に並び替えられた
2024年9月1日時点の人口TOP3は名古屋市、豊田市、岡崎市という結果が得られた
なお、このデータには名古屋市内の区のデータも混じっていることに注意が必要である
市区町村ではなく、市町村で並べたいときには、さらに抽出が必要となる
コメントを残す