Menu
CoddyTech

Maski logiczne

Część sekcji Dane i wykresy ścieżki Machine Learning w Coddy. Lekcja 14 z 60.

Które telefony wymagają ładowania? Porównaj tablicę z liczbą, a każda wartość przyjmie odpowiedź True lub False. Taka odpowiedź to maska logiczna:

Pięć poziomów naładowania baterii: 80, 15, 42, 9 i 67, przedstawionych jako komórki. Komórki 15 i 9 są wyróżnione, a maska poniżej zawiera wartości False, True, False, True, False

Umieść maskę w nawiasach kwadratowych, aby zachować wartości True, lub zsumuj ją, aby je policzyć:

levels = np.array([80, 15, 42, 9, 67])
low = levels < 20
print(levels[low])
print(low.sum())

To wypisuje:

[15  9]
2

True liczy się jako 1, a False jako 0. Dopasowuje i zlicza, bez pętli.

Łącz maski za pomocą & (oba warunki) lub | (którykolwiek warunek), umieszczając każde porównanie w nawiasach: (levels > 30) & (levels < 70).

challenge icon

Wyzwanie

Łatwy

Aplikacja kurierska chce wyświetlić dzisiejsze dostawy na czas: te, których dostarczenie trwało od low do high minut, włącznie. times jest już gotowe, a program odczytuje low i high. Wyświetl:

  1. On time: czasy dostaw na czas, w ich pierwotnej kolejności.
  2. On time count: ile ich jest.
  3. Outside count: ile dostaw trwało krócej niż low lub dłużej niż high.

Dla przedziału od 30 do 45 minut:

On time: [34 41 38 31 44]
On time count: 5
Outside count: 7

Spróbuj swoich sił

import numpy as np

times = np.array([18, 34, 25, 41, 22, 29, 15, 38, 27, 31, 44, 20])
low = int(input())
high = int(input())

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dane i wykresy

Poćwicz samodzielnie: Kompilator Python online