#python #python-3.x #pandas
Вопрос:
Есть ли простой способ создать общий индекс?
df value
UK 2020-01-01 10
2020-01-02 20
US 2020-01-01 100
2020-01-02 200
Ожидаемый Результат:
value
UK 2020-01-01 10
2020-01-02 20
US 2020-01-01 30
2020-01-02 40
Total 2020-01-01 40
2020-01-02 60
df.loc[('Total', ""), :] = df.sum()
Ответ №1:
Используйте sum
с добавлением Total
в столбец, затем преобразуйте в индекс и последний для правильного порядка используется DataFrame.swaplevel
:
df1 = df.sum(level=1).assign(df='Total').set_index('df', append=True).swaplevel(1,0)
print (df1)
value
df new
Total 2020-01-01 110
2020-01-02 220
df = pd.concat([df, df1])