Indexación y segmentación
Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 8 de 60.
Los arreglos se indexan como las listas, desde 0. Cinco días de práctica de piano, en minutos:
practice = np.array([20, 0, 35, 15, 40])
print(practice[0]) # primero
print(practice[-1]) # último
print(practice[1:4]) # posiciones de 1 a 3Esto imprime:
20
40
[ 0 35 15]Una matriz 2D toma una fila y una columna en un par de corchetes, primero la fila. Cada fila de stock es una tienda; cada columna, un producto:
stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2]) # un valor
print(stock[0]) # una fila completa
print(stock[:, 3]) # una columna completaEsto imprime:
4
[5 8 2 6]
[6 3 8]En la posición de fila, dos puntos significa todas las filas y un segmento como 0:2 significa algunas de ellas. Así que data[:, column] es una característica para cada muestra.
Desafío
FácilEl informe de un hotel es incorrecto. bookings tiene una fila por semana y una columna por día, de lunes a domingo. El programa lee una semana y un día, contados desde 1.
Cada línea tiene un error. Corrígelas para que coincidan con las etiquetas:
Week: la semana completaWeekend: sus dos últimos días, un segmentoDay: ese día, de todas las semanasBooked: ese día concreto
Para la semana 3, día 5:
Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20Pruébalo tú mismo
import numpy as np
# Habitaciones reservadas en un hotel pequeño: una fila por semana (semanas 1 a 4),
# una columna por día (días 1 a 7, de lunes a domingo)
bookings = np.array([
[12, 15, 14, 16, 18, 25, 27],
[10, 13, 15, 14, 19, 26, 28],
[11, 12, 13, 17, 20, 24, 26],
[9, 14, 16, 15, 21, 27, 29],
])
week = int(input())
day = int(input())
# El informe muestra cifras incorrectas: corrige las líneas siguientes
row = bookings[week]
print(f"Week {week}: {row}")
print(f"Weekend: {row[5:6]}")
print(f"Day {day}: {bookings[day - 1]}")
print(f"Booked: {bookings[day - 1, week - 1]}")
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
4Dar forma a los datos
Cambiar la forma de los arraysUnir arraysNúmeros aleatoriosRepaso: simulación de dados2Arrays de NumPy
Creación de arraysForma y tamañoRangos de númerosIndexación y segmentaciónRepaso: cuadrícula de temperaturas5Gráficos de líneas y de dispersión
Etiquetas y títulosGráficos de dispersiónVarias líneas y leyendasColores y marcadoresFiguras y ejesRepaso: pasos semanales3Matemáticas con arrays
Operaciones matemáticas con arrays completosEstadísticas resumidasEstadísticas por ejeDifusiónMáscaras booleanasRepaso: calificaciones de exámenes6Gráficos para datos
Gráficos de barrasHistogramasVarios gráficos en unoImágenes como matricesRepaso: informe de precipitacionesPractica por tu cuenta: Compilador de Python online