以前書いた、pandasでの時系列処理の続き。バージョンアップ(これを書いてる時点でversion 0.8.1)により、さらに便利になった。
浦神と串本の日平均潮位差をプロットしてみる。前回のようにwebから直接読むこともできるが、今回はhttp://www.data.kishou.go.jp/db/kobe/kuroshio/chouisa/chouisa.datからchouisa.datをダウンロードしてそれを読むことにする。
下がプログラム。
read_psvでデータを読んでいる。
前回は日付とデータの間にあるスペースをスマートに処理できなかったが、sep='\s*' (任意の数のスペース)を使えばよかったらしい。
column=0(右端)をindexとして用い(index_col=0)、日付データとして解釈する(parse_dates=Trule)。
”-”を欠損値と解釈する。
version 0.8以降、月平均を計算するのが簡単になり、data.resample("M",how='mean')で良い。
前回は日付とデータの間にあるスペースをスマートに処理できなかったが、sep='\s*' (任意の数のスペース)を使えばよかったらしい。
column=0(右端)をindexとして用い(index_col=0)、日付データとして解釈する(parse_dates=Trule)。
”-”を欠損値と解釈する。
version 0.8以降、月平均を計算するのが簡単になり、data.resample("M",how='mean')で良い。
import numpy as np import pandas as pd import matplotlib.pyplot as plt # read data data=pd.read_csv("chouisa.dat",sep='\s*',skiprows=1,header=None,index_col=0,parse_dates=True,names=("date","chouisa"),na_values="-") #monthly value data2=data.resample("M",how='mean') #plot plt.subplot(111) data["chouisa"].plot(style='b-',label="Daily") data2["chouisa"].plot(style='r-',label="Monthly",linewidth=2) plt.legend(loc='best') plt.savefig("choisa.png") plt.show()
0 件のコメント:
コメントを投稿