У меня есть фрейм данных с многоиндексным столбцом, как вы видите ниже, и я пытаюсь сделать это для каждого пользователя, а также для m1 и m2, мне нужно получить значение для сегодняшнего дня + 0,25 * значение для вчерашнего дня.
m1 m2
day yesterday today yesterday today
user
id1 5 6 7 8
id2 3 4 9 10
Я пробовал следующее, но я получаю значения NA во всех столбцах "сегодня":
df.iloc[:, df.columns.get_level_values(1)=='today'] =
df.iloc[:, df.columns.get_level_values(1)=='yesterday'] *0.25 +
df.iloc[:, df.columns.get_level_values(1)=='today']
Мой поиск по другим сообщениям stackoverflow привел меня к возможному ответу группировки поуровень = 0, но я не знаю, как оттуда и как применить функцию к результату группы по.Или, может быть, это неправильный подход к этому?
df.groupby(level=0, axis=1).apply(...)
Во-первых, мне нужно добраться до:
m1 m2
day yesterday today yesterday today
user
id1 5 6+0.25*5 7 8+0.25*7
id2 3 4+0.25*3 9 10+0.25*9
В конечном счете, мне нужно добраться до:
user m1 m2
id1 6+0.25*5 8+0.25*7
id2 4+0.25*3 10+0.25*9
ps я впервые задаю вопрос о StackOverflow, я сделал все возможное!но, пожалуйста, дайте мне знать, если мне нужно изменить свой вопрос, чтобы следовать рекомендациям.Спасибо!