2つの日付間の差異を計算して、2つの日付間の整数の差異(日数)を取得しようとしましたが、次のエラーが表示されます。周波数なしでTimestmpに積分値を加算してください。ここでは、コードは次のとおりです。Pythonエラー:フリークエンシーなしでタイムスタンプに整数値を追加できません
from __future__ import print_function
try:
import argparse
flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
flags = None
import os
import datetime
import pandas_datareader.data as web
import numpy as np
import pandas as pd
def main():
count = 0
df = pd.DataFrame([])
start = datetime.datetime(2017, 10, 11)
end = datetime.datetime(2017, 10, 27)
index_date = datetime.datetime(2017, 10, 11)
symbols_list = ['ORCL', 'TSLA', 'IBM','YELP', 'MSFT']
length = len(symbols_list)
for num, ticker in enumerate(symbols_list, start=1):
f = web.DataReader(ticker, 'yahoo', start, end)['Adj Close']
f.ix[index_date]
if count == 0:
f = f.to_frame().reset_index()
df = f
df.columns = ['Date', ticker]
length_df = len(df)
sDate = df.iloc[:,-2] # Date data list
print ('sDate[0] is: ', (sDate[0]))
j = 0
while j < len(sDate[j] - 1):
date_delta = timedelta(sDate[j] - index_date)
j += 1
それは最後の行でクラッシュ:
date_delta = timedelta(sDate[j] - index_reference_date)
エラーメッセージは次のとおりです。「FREQなしTIMESTMPに整数値を追加することはできません」。
問題の内容を理解できません。データの種類は次のとおりです。
sDate[0] is: 2017-10-06 00:00:00, and
index_date is: 2017-10-11 00:00:00
index_date type is: <type 'datetime.datetime'>
しかし、次の点に注意してください
sDate[0] type is: <class 'pandas._libs.tslib.Timestamp'>
ので:たぶん、問題はここですか?助けてくれてありがとう!
これは、 "ValueError:タイムスタンプに周波数を加えずに整数値を追加できません"というエラーをスローします。 – Chas