Python — Создание столбца на основе максимальной даты в многоиндексном DF

#python #pandas #date #max #multi-index

Вопрос:

У меня есть многоиндексный фрейм данных, и первый индекс-это индекс времени. Я хочу найти максимальную дату из индекса дат, а затем создать новый столбец с этим значением.

Я могу найти максимальную дату с помощью:

     df.index.max()

    (Timestamp('2021-01-01 00:00:00'), 'c')
 

Когда я пытаюсь создать новый столбец с этой датой, я получаю сообщение об ошибке «Длина значений не соответствует длине индекса».:

  df['maxdate'] = df.index.max()
 

Вот как выглядит таблица в настоящее время:

Вот как это происходит в настоящее время

Вот как я хочу, чтобы таблица выглядела:

введите описание изображения здесь

Кто-нибудь, пожалуйста, может мне помочь?

Ответ №1:

Нужно всего лишь небольшое изменение!

Измените это

df['maxdate'] = df.index.max()

Для:

df['maxdate'] = df.index.max()[0]

Вызов df.index.max() возвращает кортеж с двумя объектами, датой и компанией. Поскольку вы хотите использовать только дату, вам нужно получить доступ к ней, так как это первый элемент.

Комментарии:

1. Спасибо. Я знал, что это должно быть что-то простое, я просто не мог этого понять.