Menu
CoddyTech

Unir arrays

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 17 de 60.

Un museo contó visitantes durante tres mañanas y después, durante dos tardes. np.concatenate une los arreglos extremo con extremo:

Cinco celdas en una fila: los recuentos de la mañana 12, 15, 19 seguidos de los recuentos de la tarde 20, 18

El código:

morning = np.array([12, 15, 19])
evening = np.array([20, 18])
print(np.concatenate([morning, evening]))

Esto imprime [12 15 19 20 18]. Un modelo quiere otra cosa: una fila por muestra y una columna por característica. np.column_stack coloca los arreglos uno al lado del otro como columnas:

Una tabla de 3 apartamentos en 2 columnas: tamaños 45, 60, 82 junto a alquileres 900, 1200, 1500, un apartamento por fila

En el código:

sizes = np.array([45, 60, 82])
rents = np.array([900, 1200, 1500])
table = np.column_stack([sizes, rents])
print(table.shape)

Esto imprime (3, 2). Cada fila toma un valor de cada matriz, así que sus longitudes deben coincidir.

challenge icon

Desafío

Fácil

Un estudio necesita una tabla de personas: la edad en la primera columna, las horas diarias de pantalla en la segunda y el grupo 1 primero. El código de un colega se detiene con un error y, una vez corregido, la tabla sigue saliendo mal.

Corrige las tres líneas que construyen ages, hours y table. Deja las dos últimas líneas tal como están.

Para un estudio más pequeño de tres personas, el programa corregido imprime:

[[30  5]
 [28  8]
 [62  2]]
People: 3, measurements each: 2

Pruébalo tú mismo

import numpy as np

# Primer grupo: edad de cada persona y tiempo diario frente a la pantalla en horas
ages_1 = np.array([23, 35, 41])
hours_1 = np.array([6, 4, 3])
# Segundo grupo
ages_2 = np.array([19, 52])
hours_2 = np.array([7, 2])

# El estudio necesita una fila por persona: primero la edad y luego las horas. Corrige las líneas de abajo
ages = np.concatenate([ages_1, ages_2])
hours = np.concatenate(hours_1, hours_2)
table = np.concatenate([ages, hours])

# No cambies las líneas de abajo
print(table)
print(f"People: {table.shape[0]}, measurements each: {table.shape[1]}")
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online