Если у меня есть серия:
df = pd.DataFrame({'values':[1,22.2,3.4,4.2,55.4,6.3],
'dates':['2019-10-01','2019-10-01','2019-10-01','2019-10-02','2019-10-02','2019-10-02'],
'names':['name1','name2','name3','name1','name2','name3']})
df = df.set_index(['dates','names']).squeeze()
Я смотрю на использование .groupby
и .apply
, но я не понимаю, что происходит.
Если япытаясь применить функцию:
def my_func(data):
return data.to_frame()
, используя:
df.groupby('dates').apply(my_func)
Я получаю следующий вывод:
2019-10-01 2019-10-02
dates names
2019-10-01 name1 1.0 NaN
name2 22.2 NaN
name3 3.4 NaN
2019-10-02 name1 NaN 4.2
name2 NaN 55.4
name3 NaN 6.3
Почему df.name
заменяется наимя переменной groupby после использования droplevel
?