Menu
CoddyTech

Indexation et découpage

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 8 sur 60.

Les tableaux sont indexés comme les listes, à partir de 0. Cinq jours de pratique du piano, en minutes :

practice = np.array([20, 0, 35, 15, 40])
print(practice[0])    # premier
print(practice[-1])   # dernier
print(practice[1:4])  # positions 1 à 3

Cela affiche :

20
40
[ 0 35 15]

Un tableau 2D prend une ligne et une colonne dans une même paire de crochets, la ligne d’abord. Chaque ligne de stock représente un magasin, chaque colonne un produit :

Une grille de 3 lignes et 4 colonnes de nombres ; la cellule de la ligne 1, colonne 2, contenant 4, est ombrée le plus foncé, et toute la colonne 3, contenant 6, 3 et 8, est ombrée

stock = np.array([[5, 8, 2, 6], [9, 1, 4, 3], [7, 0, 6, 8]])
print(stock[1, 2])  # une valeur
print(stock[0])     # une ligne entière
print(stock[:, 3])  # une colonne entière

Cela affiche :

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

Dans la position correspondant aux lignes, deux-points signifie toutes les lignes, et une tranche comme 0:2 en sélectionne quelques-unes. Ainsi, data[:, column] correspond à une caractéristique pour chaque échantillon.

challenge icon

Défi

Facile

Le rapport d’un hôtel est erroné. bookings contient une ligne par semaine et une colonne par jour, du lundi au dimanche. Le programme lit une semaine et un jour, comptés à partir de 1.

Chaque ligne contient un bogue. Corrige-les pour qu’elles correspondent aux libellés :

  • Week : la semaine entière
  • Weekend : ses deux derniers jours, une tranche
  • Day : ce jour-là, toutes les semaines
  • Booked : ce jour-là uniquement

Pour la semaine 3, le jour 5 :

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

Essayez vous-même

import numpy as np

# Chambres réservées dans un petit hôtel : une ligne par semaine (semaines 1 à 4),
# une colonne par jour (jours 1 à 7, du lundi au dimanche)
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())

# Le rapport affiche des nombres incorrects : corrigez les lignes ci-dessous
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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne