株式市場データを含むパンダの日付フレームがあります。日付列 ('date') があります。
文字列を使用して日付にアクセスしようとすると、次のメッセージが表示されます。
KeyError: 'the label [1981-02-17 00:00:00] is not in the [index]'
呼び出して、明示的にインデックスを日時インデックスに設定します
self.data['date'] = pandas.to_datetime(self.data['date'], format="%Y-%m-%d")
self.data.set_index(pandas.DatetimeIndex(self.data['date'], inplace=True))
これが私のクラスです:
class ohlcData:
def __init__(self, ticker=None, csv=None, intrinio=False):
if ticker is not None:
self.ticker = ticker.upper()
else:
self.ticker = None
if csv is not None:
name_len = csv.find(".csv")
if name_len is -1:
raise ValueError("CSV file should be named ticker.csv where ticker is the stock ticker.")
else:
self.ticker = csv[0:name_len].upper()
self.data = pandas.read_csv(csv)
self.data['date'] = pandas.to_datetime(self.data['date'], format="%Y-%m-%d")
self.data.set_index(self.data['date'], inplace=True)
if not intrinio:
self.data = pandas.DataFrame()
else:
self.read_from_intrinio()
メインの関連抜粋:
aapl = ohlcData(csv="aapl.csv")
print(aapl.data.loc[datetime.date(1981, 2,17)])
その結果:
KeyError: 'the label [1981-02-17] is not in the [index]'
私は何を間違っていますか?