Я думаю, что проблема в типе данных вашего индекса. Файлы CSV не хранят типы данных, и pandas должен делать некоторые предположения при поиске типов.
Поскольку pandas не может определить, что первый столбец имеет значения datetime, он считает его строкой; Поэтому, когда вы устанавливаете его в качестве индекса, он создает для вас ванильный индекс (следовательно, тип Index
в ошибке, а не DatetimeIndex
). Вы хотите преобразовать его в правильный формат, пока / после вызова read_csv
и прежде чем устанавливать его в качестве индекса.
См. этот ответ , чтобы узнать, как преобразовать формат после чтения файла CSV. Если вы хотите выполнить преобразование данных во время чтения CSV (что удобнее и требует меньше времени / памяти), посмотрите документы , откуда параметр parse_dates
расположен вниз.
PS: Совет, как задать более точные вопросы, вы можете поделиться частью своих данных таким образом, чтобы предоставить минимально воспроизводимый пример:
from io import StringIO
df = pandas.read_csv(StringIO("""A,B,C
a,b,c
d,,f"""))
часто вы можете найти ответ на свой вопрос, пытаясь минимальный пример, прежде чем перейти на SO!