Is there an option not to drop the indices with NaN in them? I think silently dropping these rows from the pivot will at some point cause someone serious pain.
import pandas import numpy a = [['a', 'b', 12, 12, 12], ['a', numpy.nan, 12.3, 233., 12], ['b', 'a', 123.23, 123, 1], ['a', 'b', 1, 1, 1.]] df = pandas.DataFrame(a, columns=['a', 'b', 'c', 'd', 'e']) df_pivot = df.pivot_table(index=['a', 'b'], values=['c', 'd', 'e'], aggfunc=sum) print(df) print(df_pivot) Output:
a b c d e 0 a b 12.00 12 12 1 a NaN 12.30 233 12 2 b a 123.23 123 1 3 a b 1.00 1 1 c d e a b a b 13.00 13 13 b a 123.23 123 1