una transpuesta sumar recorrer matriz matrices extraer ejemplos determinante datos columnas columna python syntax numpy

python - transpuesta - Extracción de columnas específicas en numpy array



recorrer una matriz en python (7)

Esta es una pregunta fácil, pero dicen que tengo una matriz MxN. Todo lo que quiero hacer es extraer columnas específicas y almacenarlas en otra matriz numpy, pero obtengo errores de sintaxis no válidos. Aquí está el código:

extractedData = data[[:,1],[:,9]].

Parece que la línea anterior debería ser suficiente, pero supongo que no. Miré a mi alrededor, pero no pude encontrar nada de sintaxis en cuanto a este escenario específico.


¿Supongo que querías las columnas 1 y 9 ? Eso es

data[:, [1, 9]]


Suponiendo que desea obtener las columnas 1 y 9 con ese fragmento de código, debería ser:

extractedData = data[:,[1,9]]


Una cosa más a la que debes prestar atención cuando selecciones columnas de la matriz ND usando una lista como esta:

data[:,:,[1,9]]

Si está eliminando una dimensión (seleccionando solo una fila, por ejemplo), la matriz resultante se permutará (por alguna razón) . Asi que:

print data.shape # gives [10,20,30] selection = data[1,:,[1,9]] print selection.shape # gives [2,20] instead of [20,2]!!


Una cosa que quisiera señalar es que, si el número de columnas que desea extraer es 1, la matriz resultante no sería una Matriz Mx1 como cabría esperar, sino una matriz que contiene los elementos de la columna que extrajo.

Para convertirlo a Matrix , debe usarse el método de remodelación (M, 1) en la matriz resultante.


puedes usar datos_extraídos = data.ix [:, [''Column1'', ''Column2'']]


si quieres extraer solo algunas columnas:

idx_IN_columns = [1, 9] extractedData = data[:,idx_IN_columns]

si desea excluir columnas específicas:

idx_OUT_columns = [1, 9] idx_IN_columns = [i for i in xrange(np.shape(data)[1]) if i not in idx_OUT_columns] extractedData = data[:,idx_IN_columns]


también puedes usar extraDaData = data ([:, 1], [:, 9])