min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

csvの任意の列2つをタテヨコにとった散布図scatterを表示するだけのpythonコード

csvの任意の列2つをタテヨコにとったグラフ(散布図)を作るだけのコード。こういうシンプルな機能を揃えたい。

f:id:min117:20201027070130p:plain


サンプルcsvはこんな感じ。銀行の残高をcsvに出力したもの。

$ cat dpwithdraw.csv
f:id:min117:20201027063250p:plain

 

コードはこれ。python3。

f:id:min117:20201027064119p:plain
11〜15行目 csvの列名を取り出して変数に入れる(リストになる?)

20行目 グラフにしたい変数(変数リスト?)を2つ決める。scatter(a, b)的に。

23行目 グラフを表示する

 

変数名がテキトーなのは元ソースをそのまま流用してるから。

 

元ソース

wagtail.cds.tohoku.ac.jp

 

jupyter notebook で .pyソースを実行するときは run する。

In[]: run my_csv02.py

f:id:min117:20201027062717p:plain

支払いを横軸、残高を縦軸にとったんじゃ、グラフ(散布図)にしてもほとんど意味をなさない。

けど、2つの要素を縦横にして即時グラフにできる仕組みにしたのは意味ある。

 

例えば

$ python3 my_csv02.py target.csv X Y

のようにして、X列とY列の散布図を作れるようにすれば、いろんなXYの関係を試せる。

 

Excelでももちろん同じことできるけど、セルにデータを貼るのがダルい。それよりも、銀行サイトから出力したcsvを即時で(bashから)python食わせる、データを比較できる、ような仕組みを作って、データに見慣れるのが大事と思ってる。

 

note.nkmk.me