인덱싱과 슬라이싱
Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 8번째.
배열은 리스트처럼 0부터 인덱싱됩니다. 피아노 연습 5일분(분 단위):
practice = np.array([20, 0, 35, 15, 40])
print(practice[0]) # 첫 번째
print(practice[-1]) # 마지막
print(practice[1:4]) # 위치 1부터 3까지다음이 출력됩니다:
20
40
[ 0 35 15]2차원 배열은 하나의 대괄호 쌍 안에 행과 열을 순서대로 받습니다. stock의 각 행은 상점 하나를, 각 열은 상품 하나를 나타냅니다:
stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2]) # 값 하나
print(stock[0]) # 행 전체
print(stock[:, 3]) # 열 전체다음과 같이 출력됩니다:
4
[5 8 2 6]
[6 3 8]행 위치에서 콜론은 모든 행을 의미하고, 0:2와 같은 슬라이스는 그중 일부를 의미합니다. 따라서 data[:, column]은 모든 샘플에 대한 하나의 특성입니다.
챌린지
쉬움호텔의 보고서가 잘못되었습니다. bookings에는 주마다 한 행, 월요일부터 일요일까지 하루마다 한 열이 있습니다. 프로그램은 1부터 세는 주와 일을 입력받습니다.
각 줄에는 버그가 하나씩 있습니다. 레이블과 일치하도록 수정하세요.
Week: 한 주 전체Weekend: 마지막 이틀, 슬라이스Day: 모든 주의 해당 요일Booked: 해당 날짜의 값 하나
3주 차, 5일 차인 경우:
Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20직접 해보기
import numpy as np
# 작은 호텔에서 예약된 객실 수: 주마다 한 행씩 (1주차부터 4주차까지),
# 하루마다 한 열씩 (1일부터 7일까지, 월요일부터 일요일까지)
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())
# 보고서에 잘못된 숫자가 출력됩니다: 아래 줄을 수정하세요
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]}")
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
데이터와 시각화의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러