pandasのDataFrameを昇順・降順に並び替える方法(sort_valuesを使う)
pandas の DataFrame をソートするには sort_values を使う。
rows = df.sort_values(‘総合計’)
ここで df は DataFrame である。このオブジェクトには sort_values というメソッドがあり、引数を列名とする列でソートする。例えば、すべてのコードは次のようになる。
import pandas as pd
df = pd.read_csv(‘H30.csv’, encoding=‘SHIFT-JIS’)
rows = df.sort_values(‘総合計’)
print(rows)
pandas の sort_values で降順と昇順を指定する
sort_values のオプション引数 ascending に True または False を指定する。
小さいものから大きいものに向かって並び替えるには
rows = df.sort_values(‘総合計’, ascending=True)
とする。反対も同様。全体のコードは次のようになる。
import pandas as pd
df = pd.read_csv(‘H30.csv’, encoding=‘SHIFT-JIS’)
rows = df.loc[df[‘市区町丁’].str.endswith(‘計’)].sort_values(‘総合計’, ascending=True)
print(rows)
出力結果を示すが、もとファイル H30.csv は警視庁のデータである。
市区町丁 総合計 凶悪犯計 凶悪犯強盗 … その他占有離脱物横領 その他その他知能犯 その他賭博 その他その他刑法犯
5180 神津島村計 2 0 0 … 0 0 0 0
5153 西多摩郡檜原村計 3 0 0 … 0 0 0 2
5185 三宅島三宅村計 5 0 0 … 0 1 0 0
5195 小笠原村計 6 0 0 … 0 0 0 3
5172 大島町計 8 0 0 … 0 0 0 2
5178 新島村計 8 0 0 … 0 0 0 1
5190 八丈島八丈町計 10 0 0 … 0 0 0 4
5165 西多摩郡奥多摩町計 31 0 0 … 0 0 0 9
5150 西多摩郡日の出町計 131 0 0 … 2 1 0 18
5147 西多摩郡瑞穂町計 319 1 1 … 6 1 0 46
4574 狛江市計 378 2 1 … 12 0 0 50
4965 羽村市計 413 2 1 … 11 0 0 45
4920 稲城市計 444 1 0 … 8 2 0 86
4533 福生市計 462 3 1 … 18 10 0 69
5015 あきる野市計 505 4 1 … 11 1 0 55
4684 清瀬市計 515 3 1 … 17 0 0 50
4515 国立市計 531 4 3 … 18 2 0 48
4819 武蔵村山市計 538 2 2 … 13 2 0 70
4640 東大和市計 678 2 0 … 21 7 0 70
4484 国分寺市計 712 2 1 … 26 3 0 97
4764 東久留米市計 776 4 2 … 13 0 0 101
3643 青梅市計 791 7 4 … 25 0 0 117
4418 東村山市計 797 1 0 … 23 2 0 98
4186 小金井市計 808 1 1 … 48 5 0 97
4897 多摩市計 816 7 1 … 26 1 0 94
3860 昭島市計 944 7 2 … 25 4 0 111
3529 三鷹市計 951 1 1 … 27 4 0 122
4364 日野市計 1010 8 2 … 47 3 0 151
4261 小平市計 1062 4 4 … 38 3 0 134
5126 西東京市計 1244 7 5 … 27 6 0 162
… … … … … … … … … …
2187 荒川区計 1517 12 5 … 70 16 0 208
3466 武蔵野市計 1623 6 3 … 61 6 0 155
3962 調布市計 1721 1 0 … 57 2 0 195
1135 目黒区計 1871 9 4 … 73 8 0 232
3414 立川市計 1874 11 2 … 57 8 0 194
210 中央区計 2271 15 8 … 61 38 0 189
1796 中野区計 2554 13 9 … 120 8 0 357
1046 品川区計 2602 9 8 … 108 13 0 312
758 墨田区計 2617 25 11 … 61 14 0 280
2133 北区計 2797 15 11 … 82 16 0 344
4140 町田市計 2915 20 9 … 58 9 0 447
653 台東区計 3153 19 12 … 133 34 1 322
112 千代田区計 3204 11 8 … 105 50 0 298
1935 杉並区計 3542 17 10 … 122 9 0 445
2947 葛飾区計 3654 22 11 … 100 9 0 484
3339 八王子市計 3779 26 10 … 127 16 0 560
915 江東区計 3815 10 3 … 144 43 1 416
325 港区計 3830 39 14 … 145 38 0 499
2323 板橋区計 4211 23 10 … 137 16 0 524
2020 豊島区計 4477 26 18 … 104 39 0 487
2525 練馬区計 4535 24 12 … 125 10 0 476
2792 足立区計 5230 26 12 … 151 32 0 631
1350 大田区計 5335 23 12 … 187 36 0 646
3145 江戸川区計 5431 28 18 … 154 23 0 691
1710 渋谷区計 5432 30 15 … 172 66 1 667
1629 世田谷区計 6035 25 9 … 238 23 0 723
475 新宿区計 6416 107 48 … 288 93 12 627
5197 多摩地区・島部計 28313 143 61 … 876 104 0 3660
5196 23区計 85790 535 270 … 2922 645 15 10046
5201 合計 114497 684 332 … 3866 792 17 13822
三平方の定理4
きちんと総合計で昇順になっている。地区合計を除いて新宿区が最も犯罪件数が多いことがわかる。