Проблема с pandas.setindex () для datetime - PullRequest
0 голосов
/ 02 июня 2018

У меня есть дата панды с данными фондового рынка.Существует столбец даты ('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]'

Чтоя делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...