いくつかのホームページを見て書いてみましたが、うまくいきません
下のコードでpandas dataframeのdfには日付をindexでdatetimeとしてopen, high, low, close, volumeがfloatとして入ることとします。
indexに2020/02/10 13:35の形式で時間が入っていて、どdf['date'] = df.indexで追加したdateカラムが最後のカラムに入りました。この追加したdateカラムはdatetime64[ns]というtypeになっていました。。
実行すると
TypeError: unsupported operand type(s) for -: 'Timestamp' and 'float'となります。
Python
1import pandas as pd 2import matplotlib.pyplot as plt 3import numpy as np 4from mpl_finance import candlestick_ohlc 5 6 df = get_price_dataframe(db_file_name, code) 7 df = f.loc[:, ['open', 'high', 'low', 'close', 'volume']].sort_values('date') 8 9 df['date'] = df.index 10 print(df["date"].dtypes) 11 12 fig, ax = plt.subplots(figsize=(10, 5)) 13 df = df[["date", "open", "high", "low", "close"]] 14 15 candlestick_ohlc(ax, df.values, colorup="green", colordown="red") 16 plt.show() 17
うまくローソク足がプロットできるなら上記コードにはこだわりはありません。というかmpl_financeは古くて、mplfinanceにした方が良いような事を書いてあるホームページもありましたが、mplfinanceではもっと訳が分からない感じにエラーが出て、うまく表示できませんでした……。
回答2件
あなたの回答
tips
プレビュー