Я читаю файл Excel с Pandas, содержащий Title
и Date
столбцы. Когда я вручную настраиваю тестовую версию, например, такую:
import pandas as pd
df = pd.DataFrame(data={'Title': ['Movie1', 'Movie2', 'Movie3', 'Movie4'],
'Date': ['1991-11', '1991', '1991', '1991-10-31']})
print(df)
Она печатается, как и ожидалось, и самое главное, я могу отсортировать ее именно так, как мне хотелось бы, используя print(df.sort_values('Date'))
, ниже вывод Я в конечном итоге пытаюсь достичь. Как вы можете видеть, есть случаи ГГГГ / ММ / ДД, ГГГГ / ММ и просто ГГГГ.
Title Date
1 Movie2 1991
2 Movie3 1991
3 Movie4 1991-10-31
0 Movie1 1991-11
Мои проблемы возникают, когда я пытаюсь запустить print(df.sort_values('Date'))
с реальным файлом Excel, который я читаю , используя read_excel
. Я получаю TypeError: '<' not supported between instances of 'int' and 'str'
Я сузил это до того, как я ввожу даты ГГГГ-ММ и ГГГГ-ММ-ДД в файл Excel. Если я запускаю его только с датами ГГГГ, он сортируется правильно. Чтобы правильно отображать даты ГГГГ-ММ и ГГГГ-ММ-ДД, в файле Excel я должен предварительно установить обратную галочку к ним. Возможно, именно это и является причиной проблемы.
Надеюсь, кто-то еще сталкивался с этим раньше. Есть ли способ правильно прочитать эти даты с ведущими обратными галочками, используя Pandas?
Или есть ли лучший способ ввести даты в файл Excel для использования с Pandas? (Это может быть как вопрос Excel, так и вопрос Pandas).