Я использую многозначную сводную таблицу этой формы:
pivot = df.pivot_table(index=[indices], columns=['column'], values=['start_value','end_value','delta','name','unit'], aggfunc='sum')
Фрейм данных df содержит столбцы ['start_value', 'end_value', 'delta', 'name', 'unit'] все объекта dtype. Это потому, что 'name' & 'unit' на самом деле являются строковыми столбцами, столбцами типа start_value, end_value и delta. Объект dtype - это попытка заставить pivot_table работать, даже если dtypes различны (по содержанию).
Когда одно значений не является значением nan, любое значение nan преобразуется в 0 вместо nan.
ДФ:
indices, column, 'start_value','end_value','delta','name','unit'
A, '1nan', nan, 1000, nan, 'test', 'USD'
A, 'other', nan, nan, nan, 'test2', 'USD'
Результаты в сводной таблице:
indices, ('1nan', 'start_value'), ('1nan', 'end_value'), ('1nan', 'delta'),('1nan', 'name'), ('1nan', 'unit'), ('other', 'start_value'), ('other', 'end_value'), ('other', 'delta'), ('other', 'name'), ('other', 'unit')
A, 0 [should be nan], 1000, 0 [should be nan], 'test','USD', nan, nan, nan, 'test2', 'USD'
Любое предложение о том, как получить нанс вместо 0s?