Я хочу использовать pandas функцию «pivot_table» для создания двух новых столбцов из исходного значения столбца на основе уровней (obs и mod) в столбце «obsmod». Вы можете найти образцы данных здесь . Я хочу иметь процентили вместе со средним, медианным и стандартным значением. Итак, я сделал следующий сценарий.
def my5(g):
return np.percentile(g, 5)
def my95(g):
return np.percentile(g, 95)
out==test.pivot_table(index=['date','rcp','vars',
'station_type_of_area'],
columns='obsmod',
values='value',
aggfunc=[np.mean, np.median, np.std,my5,my95]).reset_index()
Результат должен быть мультииндексным фреймом данных, подобным этому
date vars mean median my5 my95
mod obs mod obs mod obs mod obs
Но я получаю это
date vars mean median my5 my95
mod obs mod obs mod mod
Проблема в том, что вложенный уровень " obs »удаляется при использовании пользовательских функций my5 и my95.
Любая помощь будет принята с благодарностью.
С уважением, Омид.