Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Eliminar una columna de una matriz

Estas en el tema de Eliminar una columna de una matriz en el foro de Python en Foros del Web. Que tal, el problema es simple, como elinimar una columna entera de una matrix cvxopt. Estoy haciendo un código que crea una matriz, sin embargo ...
  #1 (permalink)  
Antiguo 04/02/2014, 11:28
 
Fecha de Ingreso: diciembre-2013
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Eliminar una columna de una matriz

Que tal, el problema es simple, como elinimar una columna entera de una matrix cvxopt.

Estoy haciendo un código que crea una matriz, sin embargo siempre se elimina una columna entera dependiendo de un dato leido. El problema es que no se cual es el comando en cvxopt. Por ejemplo en Matlab sería:

Código:
a(:,1)=[];
para eliminar toda la primer columna de la matriz a.

Eso es exactamente lo que quiero hacer en python.
Si alguien sabe ese comando o una manera de hacerlo le agradecería bastante me comentara como hacerlo.
Saludos y gracias.
  #2 (permalink)  
Antiguo 04/02/2014, 12:58
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Eliminar una columna de una matriz

Mas bien haces lo contrario.

Código Python:
Ver original
  1. import cvxopt
  2. A = matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
  3.  
  4. print A[:,[0,2]]
  5. # [ 1  7]
  6. # [ 2  8]
  7. # [ 3  9]

Seleccionas las columnas que quieras.
  #3 (permalink)  
Antiguo 04/02/2014, 16:15
 
Fecha de Ingreso: diciembre-2013
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Eliminar una columna de una matriz

De cierta manera es correcto, y me parece que no existe un equivalente tal cual. Así como lo comentas tendría que incluir mas lineas de código que creen la lista de las columnas que quiero. Esto no es ningún problema para mí, pero lo comento por si a alguien le es útil.

Acá la parte del código:

Código Python:
Ver original
  1. el1=find(Tip_Bus==3) #Encuentra la columna a eliminar
  2. el2=range(0,N_nod*2) #Crea una lista con todas las columnas de la matriz
  3. el3=[el2 for el2 in el2 if el2 != el1] #Elimina la columna indeseada
  4. H=H1[:,el3] #Se genera la matriz sin la columna deseada


Gracias razpeitia.
Saludos

Etiquetas: eliminacion, matriz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:05.