Si la memoria me sirve, en R hay un tipo de datos llamado factor que cuando se utiliza dentro de un DataFrame se puede desempaquetar automáticamente en las columnas necesarias de una matriz de diseño de regresión. Por ejemplo, un factor que contiene Verdadero Falso Tal vez los valores// se transformaría en:Python Pandas: ¿cómo convertir un DataFrame con "factores" en una matriz de diseño para la regresión lineal?
1 0 0
0 1 0
or
0 0 1
para el propósito de utilizar el código de regresión nivel inferior. ¿Hay alguna manera de lograr algo similar usando la biblioteca de pandas? Veo que hay algo de apoyo de regresión dentro de Pandas, pero dado que tengo mis propias rutinas de regresión personalizadas, estoy realmente interesado en la construcción de la matriz de diseño (una matriz nude 2d o matriz) a partir de datos heterogéneos con soporte para mapeo y fortaleza entre columnas del objeto numpy y el Pandas DataFrame del cual se deriva.
Actualización: Aquí es un ejemplo de una matriz de datos con datos heterogéneos del tipo que estoy pensando en (el ejemplo viene del manual de 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
>>>
La 'a' columna debe ser convertido en 4 columnas de coma flotante (a pesar del significado, solo hay cuatro átomos únicos), la columna 'b' se puede convertir a una sola columna de coma flotante y la columna 'c' debe ser una columna final no modificada en la matriz de diseño .
Gracias,
setjmp
No está claro qué quiere decir con "La 'a' columna debe ser convertida en 4 columnas flotantes puntos" ... ¿Quiere decir 4 valores de punto flotante? No veo cómo dividir las primeras columnas en columnas múltiples permitirá una matriz de diseño. Mi entendimiento es que las primeras dos columnas aquí son variables categóricas. ¿Quiere decir que quiere 4 variables binarias, que son iguales a 1 solo si esa fila de datos tiene ese número categórico de primera columna? – ely
Convertir un factor con k niveles en k columnas/variables distintas se denomina ** discretización **. – smci