ちょっとはまったのでメモ
#したいこと
Unixtimeで時刻付されたセンサデータを横軸時刻,縦軸センサデータでプロットしたい.
いつも通り
import pandas as pd
import pandas.tseries.offsets as offsets
Data = pd.read_csv('data.csv')
Data['timestamp'] = pd.to_datetime(Data['timestamp'], unit="ms")
Data['timestamp'] += offsets.Hour(9)
でデータを読み込み,
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
x = Data['timestamp']
y = Data['sensor']
ax.plot(x, y)
としたところ...
#エラーの出現
matplotlib OverflowError: signed integer is greater than maximum
timestamp
が,UNIXTIMEにミリ秒まで含んだ形式だったので,OverflowErrorとなったようです.
#解決策
http://stackoverflow.com/questions/11376080/plot-numpy-datetime64-with-matplotlib
に書いてあるとおりです.
x = Data['timestamp'].astype(datetime)
のように,.astype(datetime)
で型を変換すると描画されました.めでたしめでたし.