Как создать фрейм данных с именованным индексом и безымянным подиндексом по умолчанию

#python #pandas

#питон #панды

Вопрос:

Я хочу создать фрейм данных с индексом дат. Но в одну дату будет одна запись или несколько.

поэтому я хочу создать фрейм данных, такой как :

 A B 2021-11-12 1 0 0  2 1 1  2021-11-13 1 0 0  2 1 0  3 0 1  

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

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

1. Это называется мультииндекс. Вы можете сгруппировать набор данных по двум столбцам: df.groupby([col1, col2]).функция()

Ответ №1:

Воспользуйся:

 #remove counter level df = df.reset_index(level=1, drop=True)  #add new row #your code  #correct add new row after last datetime df = df.sort_index() #add subindex df = df.set_index(df.groupby(level=0).cumcount().add(1), append=True)  

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

1. Будет rank() ли вместо cumcount().add(1) этого тоже работать?

2. @Learningisamess — Это зависит от того, являются ли отсортированные значения одинаковыми, cumcount более общими