Как я могу отрегулировать этот индекс фрейма данных?

У меня есть фреймворк, в котором есть столбец с датами и четыре показания в день, например:

Date       Readings         Values

2016-05-16 Reading 1         0.1
Nat        NaN (Reading 2)   0.1
Nat        Std               0
Nat        Mean              0.1
2016-05-17 ''                0.5
Nat

Интересно, как я могу создать multiindex, который группирует 4 значения под одной датой и типом чтения, игнорируя значения NaT.

1
0
43
1

Ответы 1

Кажется, сначала нужны значения прямого заполнения столбца Date, а затем set_index для MultiIndex:

df['Date'] = df['Date'].ffill()

df = df.set_index(['Date', 'Readings'])
print (df)
                            Values
Date       Readings               
2016-05-16 Reading 1           0.1
           NaN (Reading 2)     0.1
           Std                 0.0
           Mean                0.1
2016-05-17 ''                  0.5

Это работает, потому что под капотом все значения MultiIndex повторяются, если дублируются:

with pd.option_context('display.multi_sparse', False):
    print (df)

                            Values
Date       Readings               
2016-05-16 Reading 1           0.1
2016-05-16 NaN (Reading 2)     0.1
2016-05-16 Std                 0.0
2016-05-16 Mean                0.1
2016-05-17 ''                  0.5

Другие вопросы по теме