Эффективно создавать разреженные сводные таблицы в пандах?

Я работаю над превращением списка записей с двумя столбцами (A и B) в матричное представление. Я использовал функцию pivot в пандах, но в результате получаю довольно большой результат. Поддерживает ли панда поворот в разреженный формат? Я знаю, что могу повернуть его, а затем превратить в какое-то разреженное представление, но не так элегантно, как хотелось бы. Моя конечная цель - использовать его в качестве входных данных для прогнозирующей модели.

В качестве альтернативы, есть ли какая-то редкая возможность разворота за пределами панд?

редактировать: вот пример не разреженного центра

import pandas as pd
frame=pd.DataFrame()
frame['person']=['me','you','him','you','him','me']
frame['thing']=['a','a','b','c','d','d']
frame['count']=[1,1,1,1,1,1]

frame

  person thing  count
0     me     a      1
1    you     a      1
2    him     b      1
3    you     c      1
4    him     d      1
5     me     d      1

frame.pivot('person','thing')

        count            
thing       a   b   c   d
person           ,        
him       NaN   1 NaN   1
me          1 NaN NaN   1
you         1 NaN   1 NaN

Это создает матрицу, которая может содержать все возможные комбинации людей и вещей, но это не редкость.

http://docs.scipy.org/doc/scipy/reference/sparse.html

Разреженные матрицы занимают меньше места, потому что могут подразумевать такие вещи, как NaN или 0. Если у меня очень большой набор данных, эта функция поворота может генерировать матрицу, которая должна быть разреженной из-за большого числа NaN или 0. Я надеялся, что смогу сэкономить много места / памяти, сгенерировав что-то редкое сразу, а не создав плотную матрицу, а затем преобразовав ее в разреженную.