2017-07-25 4 views
0

ヤフーファイナンスがようやく消えてしまったような気がする。非常に興味深いように見えるAlpha Vantageに来た。私は開始日と終了日の間のデルタを探してみるまで、以下のコードは、最大実行されているが、私は下のエラーが表示されます。アルファヴァンテージ(ヤフー・フィン・アルト)とパンダ・データフレーム号 - .days

出力
from alpha_vantage.timeseries import TimeSeries 
ts = TimeSeries(key=key, output_format="pandas") 
data, meta_data = ts.get_daily("AAPL",outputsize="full") 
days = (data.index[-1]- data.index[0]).days 

days = (data.index[-1]- data.index[0]).days 
TypeError: unsupported operand type(s) for -: 'str' and 'str' 

は、私も試してみた:

days = (float(data.index[-1])- float(data.index[0])).days 

days = (int(data.index[-1])- int(data.index[0])).days 

印刷データフレームヘッド

print(data.head()) 

出力の下に尋ねたとして:

   open  low close high  volume 
2000-01-03 104.87 101.69 111.94 112.50 4783900.0 
2000-01-04 108.25 101.19 102.50 110.62 4574800.0 
2000-01-05 103.75 103.00 104.00 110.56 6949300.0 
2000-01-06 106.12 95.00 95.00 107.00 6856900.0 
2000-01-07 96.50 95.50 99.50 101.00 4113700.0 

ない運は何もして、任意のヘルプははるかに高く評価されるだろう!

+0

試してください: '(data.index [-1] .astype(np.datetime64) - data.index [0] .astype(np.datetime64))。days' –

+0

また、データフレームのスニペットを投稿すると役立ちます。 –

+0

@COLDSPEED残念ながら私はこれまでに成功しなかったことも以前に試みました。次のエラーを取得します。「AttributeError: 'str'オブジェクトには属性 'astype'がありません」さらに明確にするために、データフレームの先頭を追加しました。 – vlepore

答えて

2

インデックスが文字列であることは明らかです。 df.index.astypeを使用して、このようにdatetime型に変換します。今すぐ

In [1165]: df.index = df.index.astype(np.datetime64) 

を、あなたは何をやっているが動作します:

In [1166]: (df.index[-1] - df.index[0]).days 
Out[1166]: 4