Menu
CoddyTech

배열 형태 바꾸기

Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 16번째.

한 상점의 12개월 매출이 하나의 평면 배열로 들어옵니다. 이를 3개월씩 4개 분기로 묶으면 새로운 질문들이 떠오릅니다:

12개월 매출 5 8 6 9 12 10 14 15 11 7 6 9의 배열이 같은 순서로 한 행에 3개월씩, Q1부터 Q4까지 표시된 4개 행의 격자로 접힙니다

.reshape(rows, columns)는 행을 순서대로 채웁니다:

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)

다음과 같이 출력됩니다:

[19 31 40 22]
(2, 6)

크기의 곱은 개수와 같아야 합니다. 4 곱하기 3은 12입니다. 한 크기에 -1을 쓰면 NumPy가 계산합니다.

.flatten()은 어떤 테이블이든 다시 하나의 평평한 배열로 바꿉니다. 이 장은 같은 방식으로 라운드로 나눈 주사위 게임으로 끝납니다.

challenge icon

챌린지

쉬움

독자가 월요일부터 일요일까지 3주 동안의 독서 시간을 1차원 배열 minutes에 기록했습니다. 프로그램은 week 번호인 1, 2 또는 3을 읽습니다.

  1. minutes를 주마다 한 행씩 weeks로 재구성합니다.
  2. Weeks:를 출력한 다음 표를 출력합니다.
  3. 각 주의 총합을 출력합니다.
  4. 선택한 주의 행을 출력합니다.

2주 동안 기록하고 입력값이 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]

직접 해보기

import numpy as np

# 3주 동안 월요일부터 일요일까지 매일 독서한 시간(분)
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())

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

데이터와 시각화의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러