Menu
CoddyTech

Pengindeksan dan slicing

Termasuk bagian Data dan Plot dalam perjalanan Machine Learning di Coddy. Pelajaran 8 dari 60.

Indeks array dimulai dari 0, sama seperti list. Latihan piano selama lima hari, dalam menit:

practice = np.array([20, 0, 35, 15, 40])
print(practice[0])    # pertama
print(practice[-1])   # terakhir
print(practice[1:4])  # posisi 1 sampai 3

Ini mencetak:

20
40
[ 0 35 15]

Array 2D menggunakan satu pasangan tanda kurung untuk baris dan kolom, dengan baris terlebih dahulu. Setiap baris dalam stock adalah sebuah toko, setiap kolom adalah sebuah produk:

Kisi dengan 3 baris dan 4 kolom angka; sel pada baris 1, kolom 2 yang berisi 4 diberi warna paling gelap, dan seluruh kolom 3 yang berisi 6, 3, dan 8 diberi warna

stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2])  # satu nilai
print(stock[0])     # satu baris penuh
print(stock[:, 3])  # satu kolom penuh

Ini mencetak:

4
[5 8 2 6]
[6 3 8]

Pada posisi baris, titik dua berarti setiap baris, sedangkan slice seperti 0:2 berarti beberapa baris. Jadi, data[:, column] adalah satu fitur untuk setiap sampel.

challenge icon

Tantangan

Mudah

Laporan hotel salah. bookings memiliki satu baris untuk setiap minggu dan satu kolom untuk setiap hari, dari Senin hingga Minggu. Program membaca minggu dan hari, dihitung mulai dari 1.

Setiap baris memiliki satu bug. Perbaiki agar sesuai dengan label:

  • Week: seluruh minggu
  • Weekend: dua hari terakhirnya, berupa slice
  • Day: hari tersebut, untuk setiap minggu
  • Booked: satu hari itu

Untuk minggu ke-3, hari ke-5:

Week 3: [11 12 13 17 20 24 26]
Weekend: [24 26]
Day 5: [18 19 20 21]
Booked: 20

Coba sendiri

import numpy as np

# Kamar yang dipesan di hotel kecil: satu baris per minggu (minggu 1 hingga 4),
# satu kolom per hari (hari 1 hingga 7, Senin hingga Minggu)
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())

# Laporan menampilkan angka yang salah: perbaiki baris-baris di bawah ini
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]}")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Data dan Plot

Latihan sendiri: Compiler Python online