Indexação e fatiamento
Parte da seção Dados e gráficos do Journey de Machine Learning da Coddy. Lição 8 de 60.
Arrays são indexados como listas, começando em 0. Cinco dias de prática de piano, em minutos:
practice = np.array([20, 0, 35, 15, 40])
print(practice[0]) # primeiro
print(practice[-1]) # último
print(practice[1:4]) # posições de 1 a 3Isso imprime:
20
40
[ 0 35 15]Um array 2D recebe uma linha e uma coluna em um par de colchetes, primeiro a linha. Cada linha de stock é uma loja, cada coluna, um produto:
stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2]) # um valor
print(stock[0]) # uma linha inteira
print(stock[:, 3]) # uma coluna inteiraIsso imprime:
4
[5 8 2 6]
[6 3 8]Na posição de linha, dois-pontos significa todas as linhas, e um intervalo como 0:2 significa algumas delas. Portanto, data[:, column] é um recurso para cada amostra.
Desafio
FácilO relatório de um hotel está errado. bookings tem uma linha por semana e uma coluna por dia, de segunda a domingo. O programa lê uma semana e um dia, contados a partir de 1.
Cada linha tem um bug. Corrija-os para corresponder aos rótulos:
Week: a semana inteiraWeekend: os dois últimos dias, uma fatiaDay: esse dia, em todas as semanasBooked: aquele dia específico
Para a semana 3, dia 5:
Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20Experimente você mesmo
import numpy as np
# Quartos reservados em um pequeno hotel: uma linha por semana (semanas 1 a 4),
# uma coluna por dia (dias 1 a 7, de segunda-feira 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())
# O relatório exibe os números errados: corrija as linhas abaixo
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 lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Dados e gráficos
2Arrays do NumPy
Criando arraysForma e tamanhoIntervalos de númerosIndexação e fatiamentoRevisão: grade de temperaturas5Gráficos de Linhas e Dispersão
Rótulos e TítulosGráficos de DispersãoVárias Linhas e LegendasCores e MarcadoresFiguras e EixosRevisão: Passos Semanais3Matemática com Arrays
Operações matemáticas em arrays inteirosEstatísticas resumidasEstatísticas por eixoBroadcastingMáscaras booleanasRevisão: notas das provas6Gráficos para Dados
Gráficos de barrasHistogramasVários gráficos em um sóImagens como arraysRevisão: Relatório de chuvasPratique por conta própria: Compilador de Python online