Python Pandas :как превратить DataFrame с «факторами» в матрицу проектирования для линейной регрессии?

Если мне не изменяет память, в R есть тип данных, называемый factor, который при использовании в DataFrame может автоматически распаковываться в необходимые столбцы матрицы проектирования регрессии. Например, фактор, содержащий значения True/False/Maybe, будет преобразован в:

1 0 0
0 1 0
or
0 0 1

для использования кода регрессии более низкого уровня. Есть ли способ добиться чего-то подобного с помощью библиотеки pandas? Я вижу, что в Pandas есть некоторая поддержка регрессии, но, поскольку у меня есть свои собственные настраиваемые процедуры регрессии, меня действительно интересует построение матрицы дизайна (двумерного массива или матрицы numpy )из разнородных данных с поддержкой сопоставления назад и вперед между столбцами объекта numpy и Pandas DataFrame, из которого он получен.

Обновление :Вот пример матрицы данных с разнородными данными, о которых я думаю (пример взят из руководства Pandas):

>>> df2 = DataFrame({'a' : ['one', 'one', 'two', 'three', 'two', 'one', 'six'],'b' : ['x', 'y', 'y', 'x', 'y', 'x', 'x'],'c' : np.random.randn(7)})
>>> df2
       a  b         c
0    one  x  0.000343
1    one  y -0.055651
2    two  y  0.249194
3  three  x -1.486462
4    two  y -0.406930
5    one  x -0.223973
6    six  x -0.189001
>>> 

Столбец «a» должен быть преобразован в 4 числа с плавающей запятой. столбцы (несмотря на значение, есть только четыре уникальных атома ), столбец «b» может быть преобразован в один столбец с плавающей запятой,и столбец «c» должен быть неизмененным последним столбцом в матрице проекта.

Спасибо,

SetJmp

10
задан Setjmp 17 April 2012 в 21:28
поделиться