Menu
CoddyTech

Unire gli array

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 17 di 60.

Un museo ha contato i visitatori in tre mattine, poi in due serate. np.concatenate unisce gli array uno dopo l’altro:

Cinque celle in una riga: i conteggi del mattino 12, 15, 19 seguiti dai conteggi della sera 20, 18

Il codice:

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

Questo stampa [12 15 19 20 18]. Un modello vuole qualcosa di diverso: una riga per campione, una colonna per caratteristica. np.column_stack dispone gli array affiancati come colonne:

Una tabella di 3 appartamenti in 2 colonne: superfici 45, 60, 82 accanto agli affitti 900, 1200, 1500, un appartamento per riga

Nel codice:

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

Questo stampa (3, 2). Ogni riga prende un valore da ciascun array, quindi le loro lunghezze devono corrispondere.

challenge icon

Sfida

Facile

Uno studio richiede un'unica tabella delle persone: l'età nella prima colonna, le ore giornaliere trascorse davanti allo schermo nella seconda, prima il gruppo 1. Il codice di un collega si interrompe con un errore e, una volta corretto, la tabella continua a essere errata.

Correggi le tre righe che creano ages, hours e table. Lascia invariate le ultime due righe.

Per uno studio più piccolo di tre persone, il programma corretto stampa:

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

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online