Menu
CoddyTech

Remodelando arrays

Parte da seção Dados e gráficos do Journey de Machine Learning da Coddy. Lição 16 de 60.

As vendas mensais de uma loja, referentes a 12 meses, chegam em um único array unidimensional. Organize-as em 4 trimestres de 3 meses, e novas perguntas surgirão:

Uma sequência de 12 vendas mensais, 5 8 6 9 12 10 14 15 11 7 6 9, é organizada em uma grade de 4 linhas identificadas de Q1 a Q4, com três meses por linha, na mesma ordem

.reshape(rows, columns) preenche as linhas em ordem:

months = np.array([5, 8, 6, 9, 12, 10, 14, 15, 11, 7, 6, 9])
quarters = months.reshape(4, 3)
print(quarters.sum(axis=1))
print(months.reshape(2, -1).shape)

Isso imprime:

[19 31 40 22]
(2, 6)

Os tamanhos devem ser multiplicados para chegar à quantidade: 4 vezes 3 é 12. Escreva -1 para um dos tamanhos e o NumPy calcula o resultado.

.flatten() transforma qualquer tabela de volta em um único array plano. Este capítulo termina com um jogo de dados dividido em rodadas da mesma forma.

challenge icon

Desafio

Fácil

Un leitor registrou seus minutos de leitura durante 3 semanas, de segunda a domingo, no array unidimensional minutes. O programa lê um número de week: 1, 2 ou 3.

  1. Reorganize minutes em weeks, uma linha por semana.
  2. Imprima Weeks: e, em seguida, a tabela.
  3. Imprima o total de cada semana.
  4. Imprima a linha da semana escolhida.

Para um registro de 2 semanas e a entrada 2:

Weeks:
[[10  0 25 30 15 45 20]
 [ 5 35 40  0 20 60 30]]
Weekly totals: [145 190]
Week 2: [ 5 35 40  0 20 60 30]

Experimente você mesmo

import numpy as np

# Minutos de leitura por dia durante 3 semanas, de segunda-feira a domingo
minutes = np.array([20, 35, 15, 0, 40, 60, 45, 25, 30, 20, 10, 35, 50, 55,
                    30, 30, 25, 20, 45, 40, 70])
week = int(input())

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de Python online