Menu
CoddyTech

İndeksleme ve Dilimleme

Coddy'nin Machine Learning Journey'sinin Veriler ve Grafikler bölümünün bir parçası. Ders 8 / 60.

Diziler, listeler gibi 0'dan başlayarak indekslenir. Beş günlük piyano çalışması, dakika cinsinden:

practice = np.array([20, 0, 35, 15, 40])
print(practice[0])    # ilk
print(practice[-1])   # son
print(practice[1:4])  # 1 ile 3 arasındaki konumlar

Bu şunu yazdırır:

20
40
[ 0 35 15]

2B dizide bir köşeli parantez çifti içinde önce satır, sonra sütun belirtilir. stock dizisinin her satırı bir mağazayı, her sütunu bir ürünü temsil eder:

3 satır ve 4 sütundan oluşan sayı ızgarası; 1. satır, 2. sütunda bulunan 4’ün olduğu hücre en koyu renkle gölgelenmiş ve 6, 3 ve 8 değerlerini içeren 3. sütunun tamamı gölgelenmiş

stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2])  # tek bir değer
print(stock[0])     # bir satırın tamamı
print(stock[:, 3])  # bir sütunun tamamı

Bu çıktıyı verir:

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

Satır konumunda iki nokta üst üste, her satır anlamına gelir; 0:2 gibi bir dilim ise satırların bir kısmı anlamına gelir. Yani data[:, column], her örnek için bir özelliktir.

challenge icon

Görev

Kolay

Bir otelin raporu yanlış. bookings, haftada bir satır ve pazartesiden pazara her gün için bir sütun içerir. Program, 1'den başlayarak sayılan bir hafta ve gün okur.

Her satırda bir hata var. Etiketlerle eşleşmeleri için hataları düzelt:

  • Week: haftanın tamamı
  • Weekend: son iki günü, bir dilim
  • Day: o gün, her hafta
  • Booked: o tek gün

3. hafta, 5. gün için:

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

Kendin dene

import numpy as np

# Küçük bir otelde rezerve edilen odalar: her hafta için bir satır (1 ile 4 arasındaki haftalar),
# her gün için bir sütun (1 ile 7 arasındaki günler, Pazartesi'den Pazar'a)
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())

# Rapor yanlış sayıları yazdırıyor: aşağıdaki satırları düzeltin
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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Veriler ve Grafikler bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi