前提・実現したいこと
PythonのJupyterNotebookを使い、pandasで金融のOHLCデータを可視化したいのですが、エラーが出てしまい、なかなか思うようにできません。。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-10-4c00f491470f> in <module>() 20 return ret.dropna() 21 ---> 22 ohlc = TF_ohlc(dataM1, '5min') #1時間足データの作成 23 24 <ipython-input-10-4c00f491470f> in TF_ohlc(df, tf) 11 # dfのデータからtfで指定するタイムフレームの4本足データを作成する関数 12 def TF_ohlc(df, tf): ---> 13 x = df.resample(tf).ohlc() 14 O = x['Open']['open'] 15 H = x['High']['high'] /anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in resample(self, rule, how, axis, fill_method, closed, label, convention, kind, loffset, limit, base, on, level) 7102 axis=axis, kind=kind, loffset=loffset, 7103 convention=convention, -> 7104 base=base, key=on, level=level) 7105 return _maybe_process_deprecations(r, 7106 how=how, /anaconda3/lib/python3.6/site-packages/pandas/core/resample.py in resample(obj, kind, **kwds) 1146 """ create a TimeGrouper and return our resampler """ 1147 tg = TimeGrouper(**kwds) -> 1148 return tg._get_resampler(obj, kind=kind) 1149 1150 /anaconda3/lib/python3.6/site-packages/pandas/core/resample.py in _get_resampler(self, obj, kind) 1274 raise TypeError("Only valid with DatetimeIndex, " 1275 "TimedeltaIndex or PeriodIndex, " -> 1276 "but got an instance of %r" % type(ax).__name__) 1277 1278 def _get_grouper(self, obj, validate=True): TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'
該当のソースコード
import numpy as np import pandas as pd import indicators as ind #indicators.pyのインポート from pandas_highcharts.display import display_charts dataM1 = pd.read_csv('20180820.csv', sep=';', names=('Time','Open','High','Low','Close', ''), index_col='Time', parse_dates=True) # dfのデータからtfで指定するタイムフレームの4本足データを作成する関数 def TF_ohlc(df, tf): x = df.resample(tf).ohlc() O = x['Open']['open'] H = x['High']['high'] L = x['Low']['low'] C = x['Close']['close'] ret = pd.DataFrame({'Open': O, 'High': H, 'Low': L, 'Close': C}, columns=['Open','High','Low','Close']) return ret.dropna() ohlc = TF_ohlc(dataM1, '5min') #1時間足データの作成 FastMA = ind.iMA(ohlc, 5) #短期移動平均 SlowMA = ind.iMA(ohlc, 12) #長期移動平均 df = pd.DataFrame({'Close': ohlc['Close'], 'FastMA': FastMA, 'SlowMA': SlowMA}) display_charts(df, chart_type="stock", title="MA cross", figsize=(640,480), grid=True)
試したこと
同じ形式のCSVファイルが2種類あり片方だとできてもう片方だとできませんでした。どうやったらできるのか教えてもらえるとありがたいです。
(423f1ffc59eaaf8adc627a1823076d87.png)
上のcsvだとグラフが出たのですが下のCSVを読み込むと上のようなエラーが出てしまいます。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。