pandasの紹介をしようと思います。
pandasはPythonのライブラリでデータ分析の支援をするツールです。
pandasはどんなことができるかに焦点をあてたいと思います。
各メソッドについて教科書的な解説をしないのでご容赦ください。
前提条件
PythonやPandasのインストール方法などについては割愛します。
実行はJupyter Labで行っています。
Pandasの紹介に当たってデータは厚生労働省のオープンデータからCOVID‑19に関するデータを使用させていただきます。
上記のサイトから次のデータをダウンロードしました。
- 新規陽性者数の推移(日別)
- PCR検査実施人数
pandas
早速pandasでダウンロードした新規陽性者数の推移(日別)のcsvファイルの中身を確認します。
import pandas as pd
df1 = pd.read_csv('newly_confirmed_cases_daily.csv') # csv読み込み
df1 # DataFrameを表示
Date | ALL | Hokkaido | Aomori | Iwate | Miyagi | Akita | Yamagata | Fukushima | Ibaraki | ... | Ehime | Kochi | Fukuoka | Saga | Nagasaki | Kumamoto | Oita | Miyazaki | Kagoshima | Okinawa | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2020/1/16 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 2020/1/17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 2020/1/18 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | 2020/1/19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 2020/1/20 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1055 | 2022/12/6 | 137193 | 8129 | 1826 | 2159 | 3657 | 2102 | 1993 | 3321 | 888 | ... | 2032 | 849 | 4100 | 1230 | 1262 | 2236 | 964 | 1174 | 873 | 813 |
1056 | 2022/12/7 | 149383 | 7764 | 1676 | 1637 | 4179 | 1575 | 1553 | 3094 | 3600 | ... | 1389 | 712 | 5621 | 1181 | 1191 | 1830 | 1296 | 983 | 919 | 719 |
1057 | 2022/12/8 | 133065 | 6641 | 1609 | 1483 | 3809 | 1335 | 1433 | 2849 | 3436 | ... | 1548 | 638 | 5165 | 982 | 1091 | 1853 | 1130 | 1025 | 786 | 709 |
1058 | 2022/12/9 | 127090 | 5858 | 997 | 1520 | 3495 | 1402 | 1347 | 2768 | 3133 | ... | 1428 | 716 | 4900 | 1047 | 1046 | 2083 | 1224 | 1055 | 750 | 645 |
1059 | 2022/12/10 | 135761 | 5768 | 1803 | 1555 | 3566 | 1327 | 1440 | 3033 | 2996 | ... | 1571 | 747 | 5336 | 1144 | 1144 | 2234 | 1213 | 1184 | 1016 | 643 |
1060 rows × 49 columns
左側のindex
には0からの連番が振られます。
列には日付、全都道府県の合計、各都道府県が並んでいるようです。
セルにはそれぞれ日付、数値が入っていることがわかります。
read_csv
メソッドでCSVをDataFrame
として読み込みました。
次にPCR検査実施人数を見てみます。
df2 = pd.read_csv('pcr_tested_daily.csv')
df2.tail() # tailにより最後の5行を表示。tail(n)で最後のn行を表示します。
日付 | PCR 検査実施人数(単日) | |
---|---|---|
1034 | 2022/12/5 | 40598.0 |
1035 | 2022/12/6 | 137025.0 |
1036 | 2022/12/7 | 207315.0 |
1037 | 2022/12/8 | 303340.0 |
1038 | 2022/12/9 | 157763.0 |
dtypes
で各列のデータ型を確認できます。
df2.dtypes
日付 object
PCR 検査実施人数(単日) float64
dtype: object
日付はobject
、PCR 検査実施人数(単日)はfloat64
でした。
日付は日付として扱いたいですので、to_datetime
を使うことで変換できます。
変換後の結果と状態を確認します。
df2['日付'] = pd.to_datetime(df2['日付']) # 日付列をdatetimeに変換
df2.tail()
日付 | PCR 検査実施人数(単日) | |
---|---|---|
1034 | 2022-12-05 | 40598.0 |
1035 | 2022-12-06 | 137025.0 |
1036 | 2022-12-07 | 207315.0 |
1037 | 2022-12-08 | 303340.0 |
1038 | 2022-12-09 | 157763.0 |
df2.dtypes
日付 datetime64[ns]
PCR 検査実施人数(単日) float64
dtype: object
日付はdatetime64[ns]
という型に変換できました。
さらに、set_indexにより日付列をIndexにします。
引数drop=True
で元の列を削除できます。デフォルトはFalseで行削除をしません。
df2 = df2.set_index('日付', drop=True) # set_indexで指定した列をIndexに設定。
df2.tail()
PCR 検査実施人数(単日) | |
---|---|
日付 | |
2022-12-05 | 40598.0 |
2022-12-06 | 137025.0 |
2022-12-07 | 207315.0 |
2022-12-08 | 303340.0 |
2022-12-09 | 157763.0 |
最初に読込んだdf1と結合して一つの表にすることもできます。
indexをKeyにして結合するために、df1もDate列を日付型にしてindexに設定しておきます。
df1['Date'] = pd.to_datetime(df1['Date'])
df1 = df1.set_index('Date', drop=True)
concat
により結合が行えます。axis=1
とすると横方向の結合です。
デフォルトはaxis=0
で行方向の結合になります。
df = pd.concat([df2, df1], axis=1) # join=innerとすると内部結合。デフォルトはjoin=outerで外部結合。
df.tail()
PCR 検査実施人数(単日) | ALL | Hokkaido | Aomori | Iwate | Miyagi | Akita | Yamagata | Fukushima | Ibaraki | ... | Ehime | Kochi | Fukuoka | Saga | Nagasaki | Kumamoto | Oita | Miyazaki | Kagoshima | Okinawa | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2022-12-06 | 137025.0 | 137193 | 8129 | 1826 | 2159 | 3657 | 2102 | 1993 | 3321 | 888 | ... | 2032 | 849 | 4100 | 1230 | 1262 | 2236 | 964 | 1174 | 873 | 813 |
2022-12-07 | 207315.0 | 149383 | 7764 | 1676 | 1637 | 4179 | 1575 | 1553 | 3094 | 3600 | ... | 1389 | 712 | 5621 | 1181 | 1191 | 1830 | 1296 | 983 | 919 | 719 |
2022-12-08 | 303340.0 | 133065 | 6641 | 1609 | 1483 | 3809 | 1335 | 1433 | 2849 | 3436 | ... | 1548 | 638 | 5165 | 982 | 1091 | 1853 | 1130 | 1025 | 786 | 709 |
2022-12-09 | 157763.0 | 127090 | 5858 | 997 | 1520 | 3495 | 1402 | 1347 | 2768 | 3133 | ... | 1428 | 716 | 4900 | 1047 | 1046 | 2083 | 1224 | 1055 | 750 | 645 |
2022-12-10 | NaN | 135761 | 5768 | 1803 | 1555 | 3566 | 1327 | 1440 | 3033 | 2996 | ... | 1571 | 747 | 5336 | 1144 | 1144 | 2234 | 1213 | 1184 | 1016 | 643 |
5 rows × 49 columns
ここで、PCR 検査実施人数(単日)だけ小数点表示になっていることに気づいたので、
すべて整数に変換します。
df = df.fillna(0) # 欠損値処理。0で埋める。
df = df.astype('int') # 欠損値があるとエラーになる。
df.tail()
PCR 検査実施人数(単日) | ALL | Hokkaido | Aomori | Iwate | Miyagi | Akita | Yamagata | Fukushima | Ibaraki | ... | Ehime | Kochi | Fukuoka | Saga | Nagasaki | Kumamoto | Oita | Miyazaki | Kagoshima | Okinawa | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2022-12-06 | 137025 | 137193 | 8129 | 1826 | 2159 | 3657 | 2102 | 1993 | 3321 | 888 | ... | 2032 | 849 | 4100 | 1230 | 1262 | 2236 | 964 | 1174 | 873 | 813 |
2022-12-07 | 207315 | 149383 | 7764 | 1676 | 1637 | 4179 | 1575 | 1553 | 3094 | 3600 | ... | 1389 | 712 | 5621 | 1181 | 1191 | 1830 | 1296 | 983 | 919 | 719 |
2022-12-08 | 303340 | 133065 | 6641 | 1609 | 1483 | 3809 | 1335 | 1433 | 2849 | 3436 | ... | 1548 | 638 | 5165 | 982 | 1091 | 1853 | 1130 | 1025 | 786 | 709 |
2022-12-09 | 157763 | 127090 | 5858 | 997 | 1520 | 3495 | 1402 | 1347 | 2768 | 3133 | ... | 1428 | 716 | 4900 | 1047 | 1046 | 2083 | 1224 | 1055 | 750 | 645 |
2022-12-10 | 0 | 135761 | 5768 | 1803 | 1555 | 3566 | 1327 | 1440 | 3033 | 2996 | ... | 1571 | 747 | 5336 | 1144 | 1144 | 2234 | 1213 | 1184 | 1016 | 643 |
5 rows × 49 columns
列数が多くてうるさくなってしまうので、PCR 検査実施人数(単日)とALLの列だけに絞りたいと思います。
loc
で指定した行、列だけ抽出することができます。
df_sub = df.loc[:, ['PCR 検査実施人数(単日)', 'ALL']] # :とすると全て
df_sub.tail()
PCR 検査実施人数(単日) | ALL | |
---|---|---|
2022-12-06 | 137025 | 137193 |
2022-12-07 | 207315 | 149383 |
2022-12-08 | 303340 | 133065 |
2022-12-09 | 157763 | 127090 |
2022-12-10 | 0 | 135761 |
日付をdatetime
に変換したメリットは日付で絞り込みや週ごとの集計などしやすくなることです。
たとえば2022年だけの表にしたい場合は次のようにします。
df_sub["2022"]
PCR 検査実施人数(単日) | ALL | |
---|---|---|
2022-01-01 | 7002 | 466 |
2022-01-02 | 11365 | 432 |
2022-01-03 | 5605 | 788 |
2022-01-04 | 87417 | 1094 |
2022-01-05 | 85750 | 2788 |
... | ... | ... |
2022-12-06 | 137025 | 137193 |
2022-12-07 | 207315 | 149383 |
2022-12-08 | 303340 | 133065 |
2022-12-09 | 157763 | 127090 |
2022-12-10 | 0 | 135761 |
344 rows × 2 columns
2022年4月以降の場合は次のようにします。
df_sub[df_sub.index > "2022-04"]
PCR 検査実施人数(単日) | ALL | |
---|---|---|
2022-04-02 | 100759 | 49567 |
2022-04-03 | 39539 | 39160 |
2022-04-04 | 125517 | 19865 |
2022-04-05 | 180421 | 55949 |
2022-04-06 | 127534 | 57634 |
... | ... | ... |
2022-12-06 | 137025 | 137193 |
2022-12-07 | 207315 | 149383 |
2022-12-08 | 303340 | 133065 |
2022-12-09 | 157763 | 127090 |
2022-12-10 | 0 | 135761 |
253 rows × 2 columns
Grouper
で集計を行います。
次に月ごとの合計を12か月分表示します。
df_sub.groupby(pd.Grouper(freq='M')).sum().tail(12)
PCR 検査実施人数(単日) | ALL | |
---|---|---|
2022-01-31 | 4185842 | 1082695 |
2022-02-28 | 5281949 | 2106113 |
2022-03-31 | 4242537 | 1475036 |
2022-04-30 | 5073537 | 1249639 |
2022-05-31 | 3570499 | 940734 |
2022-06-30 | 3960079 | 469555 |
2022-07-31 | 6102935 | 3463299 |
2022-08-31 | 8939761 | 6173065 |
2022-09-30 | 5159538 | 2322438 |
2022-10-31 | 3109065 | 1031036 |
2022-11-30 | 4161858 | 2486760 |
2022-12-31 | 1605870 | 1157680 |
最後に2022年の新規陽性者数の推移(日別)の列ごとの相関係数を確認します。
相関係数はcorr
を使って計算します。
地理的に近い県は相関が大きく、遠い県は相関が小さくなる気がしますがどうでしょうか。
df1_corr = df1['2022'].corr() # 相関係数
df1_corr
ALL | Hokkaido | Aomori | Iwate | Miyagi | Akita | Yamagata | Fukushima | Ibaraki | Tochigi | ... | Ehime | Kochi | Fukuoka | Saga | Nagasaki | Kumamoto | Oita | Miyazaki | Kagoshima | Okinawa | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALL | 1.000000 | 0.717784 | 0.891098 | 0.767939 | 0.840150 | 0.779766 | 0.715148 | 0.771207 | 0.894457 | 0.915933 | ... | 0.899295 | 0.889060 | 0.957462 | 0.922166 | 0.911519 | 0.937740 | 0.944658 | 0.915092 | 0.893831 | 0.704811 |
Hokkaido | 0.717784 | 1.000000 | 0.817712 | 0.914364 | 0.896070 | 0.887780 | 0.917489 | 0.916765 | 0.721881 | 0.838727 | ... | 0.671796 | 0.623444 | 0.545176 | 0.593745 | 0.593622 | 0.549407 | 0.611312 | 0.568530 | 0.490232 | 0.220473 |
Aomori | 0.891098 | 0.817712 | 1.000000 | 0.906691 | 0.892421 | 0.878192 | 0.858531 | 0.896222 | 0.852927 | 0.897350 | ... | 0.873929 | 0.859468 | 0.797894 | 0.833150 | 0.842774 | 0.816585 | 0.850210 | 0.821223 | 0.782323 | 0.533182 |
Iwate | 0.767939 | 0.914364 | 0.906691 | 1.000000 | 0.933444 | 0.947235 | 0.938562 | 0.968587 | 0.757437 | 0.890184 | ... | 0.789533 | 0.738490 | 0.613435 | 0.698778 | 0.691071 | 0.660868 | 0.717663 | 0.677699 | 0.601694 | 0.321581 |
Miyagi | 0.840150 | 0.896070 | 0.892421 | 0.933444 | 1.000000 | 0.935053 | 0.905655 | 0.949006 | 0.810472 | 0.946765 | ... | 0.839243 | 0.774730 | 0.697649 | 0.777957 | 0.738033 | 0.739312 | 0.792283 | 0.723332 | 0.662895 | 0.405382 |
Akita | 0.779766 | 0.887780 | 0.878192 | 0.947235 | 0.935053 | 1.000000 | 0.950503 | 0.954115 | 0.718903 | 0.914849 | ... | 0.847746 | 0.787533 | 0.621089 | 0.756042 | 0.721347 | 0.700550 | 0.754326 | 0.702415 | 0.642022 | 0.329620 |
Yamagata | 0.715148 | 0.917489 | 0.858531 | 0.938562 | 0.905655 | 0.950503 | 1.000000 | 0.960751 | 0.706228 | 0.843392 | ... | 0.781056 | 0.735974 | 0.538614 | 0.649817 | 0.674898 | 0.602274 | 0.672703 | 0.633082 | 0.567904 | 0.196844 |
Fukushima | 0.771207 | 0.916765 | 0.896222 | 0.968587 | 0.949006 | 0.954115 | 0.960751 | 1.000000 | 0.783400 | 0.899624 | ... | 0.810988 | 0.766845 | 0.609747 | 0.697224 | 0.717126 | 0.652322 | 0.726145 | 0.691202 | 0.614898 | 0.279904 |
Ibaraki | 0.894457 | 0.721881 | 0.852927 | 0.757437 | 0.810472 | 0.718903 | 0.706228 | 0.783400 | 1.000000 | 0.845102 | ... | 0.774043 | 0.792746 | 0.830887 | 0.757382 | 0.803787 | 0.754663 | 0.803562 | 0.786469 | 0.758979 | 0.490970 |
Tochigi | 0.915933 | 0.838727 | 0.897350 | 0.890184 | 0.946765 | 0.914849 | 0.843392 | 0.899624 | 0.845102 | 1.000000 | ... | 0.875981 | 0.818229 | 0.806803 | 0.846623 | 0.797450 | 0.834543 | 0.861182 | 0.803815 | 0.759042 | 0.532585 |
Gunma | 0.931932 | 0.847433 | 0.919207 | 0.898673 | 0.947350 | 0.919529 | 0.866205 | 0.908965 | 0.864516 | 0.978320 | ... | 0.885845 | 0.842102 | 0.815531 | 0.853170 | 0.813521 | 0.837475 | 0.865130 | 0.806379 | 0.763229 | 0.511536 |
Saitama | 0.949682 | 0.672041 | 0.824941 | 0.703743 | 0.749850 | 0.668847 | 0.617008 | 0.689993 | 0.896579 | 0.842916 | ... | 0.749519 | 0.754630 | 0.908880 | 0.798737 | 0.792206 | 0.837307 | 0.826762 | 0.813266 | 0.777436 | 0.623490 |
Chiba | 0.952929 | 0.656637 | 0.826540 | 0.692732 | 0.756459 | 0.678875 | 0.615355 | 0.679690 | 0.881288 | 0.854465 | ... | 0.754590 | 0.755003 | 0.914355 | 0.819250 | 0.783359 | 0.852140 | 0.831742 | 0.796217 | 0.773642 | 0.633720 |
Tokyo | 0.938815 | 0.555475 | 0.735839 | 0.576070 | 0.675974 | 0.580471 | 0.490408 | 0.556090 | 0.798165 | 0.792618 | ... | 0.737210 | 0.722763 | 0.935475 | 0.834748 | 0.778615 | 0.881396 | 0.842963 | 0.805265 | 0.795662 | 0.733294 |
Kanagawa | 0.920387 | 0.624331 | 0.760765 | 0.637664 | 0.716379 | 0.614074 | 0.549132 | 0.613451 | 0.839771 | 0.814328 | ... | 0.705296 | 0.684839 | 0.885816 | 0.795242 | 0.723474 | 0.812462 | 0.795984 | 0.743495 | 0.732458 | 0.619196 |
Niigata | 0.860041 | 0.885053 | 0.930054 | 0.940552 | 0.929376 | 0.899783 | 0.905725 | 0.949462 | 0.876968 | 0.911214 | ... | 0.828849 | 0.809024 | 0.742344 | 0.758495 | 0.797068 | 0.741444 | 0.797966 | 0.782350 | 0.714145 | 0.427647 |
Toyama | 0.892779 | 0.808417 | 0.931900 | 0.899065 | 0.913906 | 0.915726 | 0.894757 | 0.915406 | 0.831546 | 0.911114 | ... | 0.917881 | 0.903820 | 0.782859 | 0.839958 | 0.875813 | 0.822496 | 0.868909 | 0.850694 | 0.800538 | 0.481688 |
Ishikawa | 0.883475 | 0.796736 | 0.924522 | 0.865907 | 0.827705 | 0.810049 | 0.827552 | 0.869900 | 0.867524 | 0.840119 | ... | 0.833639 | 0.860642 | 0.813131 | 0.776893 | 0.873137 | 0.782003 | 0.830798 | 0.854639 | 0.798296 | 0.514883 |
Fukui | 0.903478 | 0.755764 | 0.900367 | 0.836279 | 0.844928 | 0.786618 | 0.785250 | 0.840257 | 0.907166 | 0.867954 | ... | 0.841723 | 0.849426 | 0.848289 | 0.809698 | 0.860533 | 0.819005 | 0.867837 | 0.862289 | 0.826756 | 0.587220 |
Yamanashi | 0.925965 | 0.850168 | 0.911404 | 0.889602 | 0.950895 | 0.903164 | 0.860360 | 0.899474 | 0.849235 | 0.958010 | ... | 0.902118 | 0.852349 | 0.818240 | 0.863448 | 0.841212 | 0.851858 | 0.885837 | 0.833486 | 0.783229 | 0.549257 |
Nagano | 0.747033 | 0.912479 | 0.833350 | 0.901108 | 0.951189 | 0.912268 | 0.926328 | 0.940922 | 0.754484 | 0.884556 | ... | 0.763475 | 0.695500 | 0.581021 | 0.672333 | 0.657126 | 0.627813 | 0.698340 | 0.633744 | 0.566720 | 0.269810 |
Gifu | 0.923079 | 0.778748 | 0.895219 | 0.850435 | 0.910623 | 0.910874 | 0.835603 | 0.868005 | 0.804960 | 0.948767 | ... | 0.956990 | 0.916894 | 0.828008 | 0.918979 | 0.883717 | 0.882696 | 0.920721 | 0.869830 | 0.848704 | 0.580830 |
Shizuoka | 0.961911 | 0.664467 | 0.855437 | 0.725012 | 0.830778 | 0.775010 | 0.702808 | 0.748793 | 0.851291 | 0.899783 | ... | 0.917398 | 0.909105 | 0.916616 | 0.919229 | 0.908827 | 0.937777 | 0.952013 | 0.919721 | 0.905452 | 0.709372 |
Aichi | 0.980066 | 0.677395 | 0.859472 | 0.733152 | 0.823597 | 0.785022 | 0.694154 | 0.744523 | 0.829048 | 0.910184 | ... | 0.910705 | 0.893841 | 0.930181 | 0.930370 | 0.898245 | 0.941223 | 0.939524 | 0.898939 | 0.885149 | 0.704869 |
Mie | 0.921540 | 0.667177 | 0.857804 | 0.739633 | 0.814761 | 0.744074 | 0.722485 | 0.781066 | 0.893204 | 0.843222 | ... | 0.885677 | 0.901778 | 0.869553 | 0.850114 | 0.917594 | 0.870352 | 0.914334 | 0.917414 | 0.884020 | 0.619667 |
Shiga | 0.962190 | 0.703166 | 0.874338 | 0.761287 | 0.814798 | 0.778197 | 0.730168 | 0.769284 | 0.892690 | 0.888098 | ... | 0.887882 | 0.899355 | 0.910908 | 0.891742 | 0.901012 | 0.878746 | 0.907533 | 0.883074 | 0.878485 | 0.611842 |
Kyoto | 0.956596 | 0.589744 | 0.797106 | 0.629059 | 0.691738 | 0.618076 | 0.567675 | 0.629997 | 0.853849 | 0.793971 | ... | 0.796857 | 0.827028 | 0.953301 | 0.850102 | 0.881297 | 0.888940 | 0.886444 | 0.893341 | 0.875498 | 0.732100 |
Osaka | 0.924773 | 0.490046 | 0.705150 | 0.516303 | 0.639536 | 0.578872 | 0.473347 | 0.520946 | 0.736754 | 0.770666 | ... | 0.792432 | 0.785307 | 0.928033 | 0.867227 | 0.823218 | 0.904041 | 0.868892 | 0.828961 | 0.841459 | 0.749999 |
Hyogo | 0.969687 | 0.577215 | 0.797906 | 0.618996 | 0.707743 | 0.632868 | 0.573072 | 0.629148 | 0.857541 | 0.810939 | ... | 0.843347 | 0.863155 | 0.970494 | 0.886120 | 0.905972 | 0.917885 | 0.915766 | 0.903993 | 0.905560 | 0.734951 |
Nara | 0.928707 | 0.622302 | 0.824037 | 0.679896 | 0.719531 | 0.653464 | 0.630231 | 0.676421 | 0.885325 | 0.786575 | ... | 0.803479 | 0.840778 | 0.907295 | 0.836251 | 0.859678 | 0.828968 | 0.848166 | 0.835940 | 0.837719 | 0.588007 |
Wakayama | 0.941548 | 0.691522 | 0.856980 | 0.748379 | 0.809290 | 0.755906 | 0.736970 | 0.775000 | 0.865304 | 0.852302 | ... | 0.908578 | 0.910699 | 0.911901 | 0.895791 | 0.941459 | 0.894744 | 0.935931 | 0.929014 | 0.907498 | 0.656482 |
Tottori | 0.890519 | 0.785997 | 0.898038 | 0.889142 | 0.924705 | 0.892693 | 0.860298 | 0.896711 | 0.823071 | 0.916880 | ... | 0.928934 | 0.880913 | 0.804639 | 0.881079 | 0.865133 | 0.852488 | 0.903235 | 0.854085 | 0.811684 | 0.551625 |
Shimane | 0.808228 | 0.660570 | 0.826361 | 0.783890 | 0.819686 | 0.823960 | 0.761890 | 0.771182 | 0.638471 | 0.840522 | ... | 0.888417 | 0.796008 | 0.737678 | 0.877892 | 0.774865 | 0.870769 | 0.867109 | 0.783001 | 0.766193 | 0.615337 |
Okayama | 0.929422 | 0.764347 | 0.908773 | 0.823807 | 0.846205 | 0.822148 | 0.814409 | 0.859147 | 0.898736 | 0.876555 | ... | 0.906143 | 0.933664 | 0.866898 | 0.860842 | 0.931698 | 0.847413 | 0.908447 | 0.911746 | 0.879364 | 0.567174 |
Hiroshima | 0.836433 | 0.719557 | 0.841748 | 0.771618 | 0.809215 | 0.741730 | 0.774109 | 0.832794 | 0.880185 | 0.793668 | ... | 0.837325 | 0.861942 | 0.774919 | 0.752138 | 0.874841 | 0.742648 | 0.826484 | 0.840320 | 0.798819 | 0.480949 |
Yamaguchi | 0.913602 | 0.681295 | 0.875982 | 0.779463 | 0.809834 | 0.807729 | 0.778268 | 0.803312 | 0.822211 | 0.841419 | ... | 0.960015 | 0.960900 | 0.871974 | 0.896705 | 0.972604 | 0.895065 | 0.944369 | 0.952393 | 0.924802 | 0.640063 |
Tokushima | 0.816114 | 0.601491 | 0.842787 | 0.725557 | 0.711539 | 0.721703 | 0.728177 | 0.756795 | 0.789374 | 0.722890 | ... | 0.870721 | 0.924195 | 0.775600 | 0.784302 | 0.921055 | 0.772959 | 0.835949 | 0.869464 | 0.850547 | 0.506673 |
Kagawa | 0.927844 | 0.712174 | 0.892026 | 0.791283 | 0.828209 | 0.834055 | 0.779014 | 0.808638 | 0.834645 | 0.866602 | ... | 0.955781 | 0.961511 | 0.873055 | 0.913296 | 0.950363 | 0.894430 | 0.940866 | 0.939072 | 0.915905 | 0.632597 |
Ehime | 0.899295 | 0.671796 | 0.873929 | 0.789533 | 0.839243 | 0.847746 | 0.781056 | 0.810988 | 0.774043 | 0.875981 | ... | 1.000000 | 0.958582 | 0.843916 | 0.935098 | 0.942667 | 0.913786 | 0.949937 | 0.924745 | 0.908811 | 0.640960 |
Kochi | 0.889060 | 0.623444 | 0.859468 | 0.738490 | 0.774730 | 0.787533 | 0.735974 | 0.766845 | 0.792746 | 0.818229 | ... | 0.958582 | 1.000000 | 0.850517 | 0.905483 | 0.963762 | 0.886052 | 0.935731 | 0.936056 | 0.934222 | 0.637328 |
Fukuoka | 0.957462 | 0.545176 | 0.797894 | 0.613435 | 0.697649 | 0.621089 | 0.538614 | 0.609747 | 0.830887 | 0.806803 | ... | 0.843916 | 0.850517 | 1.000000 | 0.911112 | 0.911113 | 0.944998 | 0.933684 | 0.920873 | 0.926885 | 0.818947 |
Saga | 0.922166 | 0.593745 | 0.833150 | 0.698778 | 0.777957 | 0.756042 | 0.649817 | 0.697224 | 0.757382 | 0.846623 | ... | 0.935098 | 0.905483 | 0.911112 | 1.000000 | 0.911778 | 0.950758 | 0.962883 | 0.917351 | 0.922442 | 0.749447 |
Nagasaki | 0.911519 | 0.593622 | 0.842774 | 0.691071 | 0.738033 | 0.721347 | 0.674898 | 0.717126 | 0.803787 | 0.797450 | ... | 0.942667 | 0.963762 | 0.911113 | 0.911778 | 1.000000 | 0.915760 | 0.951688 | 0.972516 | 0.960525 | 0.722418 |
Kumamoto | 0.937740 | 0.549407 | 0.816585 | 0.660868 | 0.739312 | 0.700550 | 0.602274 | 0.652322 | 0.754663 | 0.834543 | ... | 0.913786 | 0.886052 | 0.944998 | 0.950758 | 0.915760 | 1.000000 | 0.969850 | 0.942808 | 0.935426 | 0.834614 |
Oita | 0.944658 | 0.611312 | 0.850210 | 0.717663 | 0.792283 | 0.754326 | 0.672703 | 0.726145 | 0.803562 | 0.861182 | ... | 0.949937 | 0.935731 | 0.933684 | 0.962883 | 0.951688 | 0.969850 | 1.000000 | 0.967961 | 0.959969 | 0.776256 |
Miyazaki | 0.915092 | 0.568530 | 0.821223 | 0.677699 | 0.723332 | 0.702415 | 0.633082 | 0.691202 | 0.786469 | 0.803815 | ... | 0.924745 | 0.936056 | 0.920873 | 0.917351 | 0.972516 | 0.942808 | 0.967961 | 1.000000 | 0.970454 | 0.786351 |
Kagoshima | 0.893831 | 0.490232 | 0.782323 | 0.601694 | 0.662895 | 0.642022 | 0.567904 | 0.614898 | 0.758979 | 0.759042 | ... | 0.908811 | 0.934222 | 0.926885 | 0.922442 | 0.960525 | 0.935426 | 0.959969 | 0.970454 | 1.000000 | 0.804014 |
Okinawa | 0.704811 | 0.220473 | 0.533182 | 0.321581 | 0.405382 | 0.329620 | 0.196844 | 0.279904 | 0.490970 | 0.532585 | ... | 0.640960 | 0.637328 | 0.818947 | 0.749447 | 0.722418 | 0.834614 | 0.776256 | 0.786351 | 0.804014 | 1.000000 |
48 rows × 48 columns
北海道と東北は相関係数が大きい。
北海道と九州は相関係数が小さい。
東北と九州は相関係数が大きい。
ような気がします。
本格的にデータ分析するには様々な知識が必要です。
前処理や評価の手法などpandasの紹介からは脱線しますのでこのあたりで終わろうと思います。