Использование более 1 функции в агрегатном группировании приводит к мультииндексу, который я затем хочу сгладить.
пример:
df = pd.DataFrame(
{'A': [1,1,1,2,2,2,3,3,3],
'B': np.random.random(9),
'C': np.random.random(9)}
)
out = df.groupby('A').agg({'B': [np.mean, np.std], 'C': np.median})
# example output
B C
mean std median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
В настоящее время я делаю это вручную, какэто
out.columns = ['B_mean', 'B_std', 'C_median']
, которое дает мне желаемый результат
B_mean B_std C_median
A
1 0.791846 0.091657 0.394167
2 0.156290 0.202142 0.453871
3 0.482282 0.382391 0.892514
, но я ищу способ автоматизировать этот процесс, так как это монотонно, отнимает много времени и позволяет мнеделать опечатки, когда я переименовываю столбцы.
Есть ли способ вернуть уплощенный индекс вместо многоиндексного при групповом агрегировании?
Мне нужно сплющить столбцы, чтобы сохранитьв текстовый файл, который затем будет прочитан другой программой, которая не обрабатывает многоиндексированные столбцы.