Python

Numpy básico: seleccionar filas y columnas en matrices Numpy

A la hora de trabajar con matrices una tarea clave es saber cómo seleccionar filas y columnas de una forma eficiente. Por eso es importante conocer las opciones de Numpy para ello. En esta entrada se explicará cómo seleccionar filas y columnas en matrices Numpy.

Creación de una matriz de ejemplo

Antes de explicar cómo seleccionar filas y columnas en matrices Numpy es necesario disponer de una matriz. Por lo que procedemos a crear una.

import numpy as np

matrix = np.array(([11, 12, 13], [21, 22, 23], [31, 32, 33]))
matrix
array([[11, 12, 13],
       [21, 22, 23],
       [31, 32, 33]])

En el ejemplo, para identificar los elementos el primer dígito del número indica la fila y el segundo la columna.

Seleccionar un elemento de una matriz en Numpy

En primer lugar, se puede ver cómo seleccionar solamente un elemento. Para lo que se escribirá el nombre de la variable seguido de la fila entre corchetes y posteriormente la columna también entre corchetes. Es decir, es necesario escribir algo como:

matrix[row][column]

Recordando que en Python empezamos a contar los elementos desde 0, para acceder al valor de la tercera fila y segunda columna escribiremos.

matrix[2][1]
32

Alternativamente, en lugar de usar corchetes dos veces se puede pasar los valores de la fila y columna separadas por comas. Lo que es una manera más compacta de indicar los valores.

matrix[2, 1]
32

Seleccionar filas

Para seleccionar una fila solamente se tiene que indicar esta entre corchetes separada, sin que sea necesario indicar las columnas. Así la tercera fila se puede indicar de la siguiente forma:

matrix[2]
array([31, 32, 33])

También es posible puede seleccionar más de una fila a la vez. Para lo que se puede utilizar el operador initial:final. Con el que es se indicar que se seleccione desde la fila initial hasta la fila anterior a la final. Así, para seleccionar la primera y segunda fila se puede escribir:

matrix[0:2]
array([[11, 12, 13],
       [21, 22, 23]])

En caso de comenzar en la primera fila se puede ignorar su valor. Lo mismo si se termina en la última fila. Así la selección anterior se compactar de la siguiente forma:

matrix[:2]
array([[11, 12, 13],
       [21, 22, 23]])

O para seleccionar desde la segunda fila hasta el final se puede usar:

matrix[1:]
array([[21, 22, 23],
       [31, 32, 33]])

Finalmente, si se ignora tanto el valor anterior y posterior a los dos puntos se seleccionar todas las filas. Algo que será importante en la próxima sección.

Seleccionar columnas

La selección de una columna se hace de forma análoga, pero primero se tiene que indicar que se seleccionen todas las filas. Así se tiene que escribir :, coma y la columna. Así la segunda columna se puede seleccionar escribiendo

matrix[:, 1]
array([12, 22, 32])

Al igual que el caso de las filas se puede seleccionar más de una columna, para lo que también se utiliza el operador dos puntos. Por ejemplo, la primera y segunda columna se puede seleccionar con

matrix[:, :2]
array([[11, 12],
       [21, 22],
       [31, 32]])

Selección de submatrices

Finalmente se puede combinar todo lo visto para seleccionar una submatriz de la original. Lo que simplemente es seleccionar un conjunto de filas y un conjunto de columnas. Por ejemplo, se puede hacer:

matrix[1:, :2]
array([[21, 22],
       [31, 32]])

Conclusiones

En esta entrada se ha visto cómo seleccionar filas y columnas en matrices Numpy. Una tarea básica, pero en la que es necesario poder realizar con soltura para llevar a cabo los análisis de datos más complejos con Numpy.

Imágenes: Pixabay (Marit Welker)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPy

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

19 horas ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

6 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.