Criar eficientemente tabelas dinâmicas esparsas em pandas?

Estou trabalhando para transformar uma lista de registros com duas colunas (A e B) em uma representação matricial. Eu tenho usado a função de pivô dentro dos pandas, mas o resultado acaba sendo bastante grande. Os pandas suportam a rotação em um formato esparso? Eu sei que posso girá-lo e transformá-lo em algum tipo de representação esparsa, mas não é tão elegante quanto eu gostaria. Meu objetivo final é usá-lo como entrada para um modelo preditivo.

Como alternativa, existe algum tipo de capacidade de pivô esparsa fora dos pandas?

edit: aqui está um exemplo de um pivô não esparso

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

Isso cria uma matriz que pode conter todas as combinações possíveis de pessoas e coisas, mas não é escassa.

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

Matrizes esparsas ocupam menos espaço porque podem implicar coisas como NaN ou 0. Se eu tiver um conjunto de dados muito grande, essa função dinâmica poderá gerar uma matriz que deve ser esparsa devido ao grande número de NaNs ou 0s. Eu esperava poder economizar muito espaço / memória, gerando algo esparso logo de cara, em vez de criar uma matriz densa e convertê-la em esparsa.