His Masters' Voices Wiki

よろずのことの書き残し

ユーザ用ツール

サイト用ツール


python:py_plot_csv

PythonでCSVファイルをプロットする

参考

作業記録

準備

ライブラリをインストールする

pip install pandas
pip install matplotlib
pip install jupyter

CSVデータサンプルを入手

21世紀出生児縦断調査(平成13年出生児) / 21世紀出生児縦断調査 / 第16回21世紀出生児縦断調査(平成29年)
第100表 父母の総収入額×成績.csv| e-Stat

お手本のようにやるには、データの加工が必要でした。

文字コードを変換(Shift-JIS → UTF-8)

nkf -w t_100.csv > t_100_mod.csv

不要部分の削除(LibreOfficeCalcを使いました)

libreoffice t_100_mod.csv

$ cat t_100_mod.csv
,"上の方","やや上の方","真ん中あたり","やや下の方","下の方","わからない"
"200万円未満",127,229,334,266,217,29
"200〜400万円未満",318,536,808,598,465,41
"400〜600万円未満",695,1248,1536,1071,657,99
"600〜800万円未満",1006,1617,1714,1064,633,78
"800万円以上",2366,2966,2555,1434,783,126
"不詳",199,324,366,207,160,28

操作

jupyter notebook

CSV読み込み

プロット

fontが無い的なワーニングがわんさか出るが、プロットできた。

日本語フォント設定しようとするが、写経通りにはいきませんね・・・ fm が未定義 fmとはなんぞや。

日本語フォント設定

ここらを参考にした

$ sudo apt install -y fonts-ipafont

$ vi ~/.config/matplotlib/matplotlibrc
$ cat ~/.config/matplotlib/matplotlibrc
font.family: IPAGothic
$ 

jupyter notebook を再起動して、

日本語表示できました。

おや、1列目の読み込み結果が、お手本と違うため、横軸の項目が期待通りになっていません。

CSVファイルが悪かった (1行目先頭の「,」)

$ cat t_100_mod1.csv
"上の方","やや上の方","真ん中あたり","やや下の方","下の方","わからない"
"200万円未満",127,229,334,266,217,29
"200〜400万円未満",318,536,808,598,465,41
"400〜600万円未満",695,1248,1536,1071,657,99
"600〜800万円未満",1006,1617,1714,1064,633,78
"800万円以上",2366,2966,2555,1434,783,126
"不詳",199,324,366,207,160,28

(とりあえず、この辺まで、円グラフ、難しそう……)

python/py_plot_csv.txt · 最終更新: 2022/07/19 15:07 by nipa28