Я работаю, превращая список записей с двумя столбцами (A и B) в матричное представление. Я использую опорную функцию в pandas, но результат заканчивается довольно большим. Поддерживает ли поддержка pandas поворот в разреженном формате? Я знаю, что могу повернуть его, а затем превратить его в какое-то разреженное представление, но не так элегантно, как хотелось бы. Моя конечная цель состоит в том, чтобы использовать его как вход для предсказательной модели.
В качестве альтернативы существует ли какая-то разреженная возможность поворота за пределами pandas?
edit: вот пример нерезкого свода
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 или 0s. Я надеялся, что смогу сэкономить много места/памяти, создав что-то, что было редко с самого начала, вместо создания плотной матрицы, а затем превратило ее в разреженный.