Menu
CoddyTech

Fehlende Werte

Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 45 von 60.

Reale Daten haben Lücken: Ein Sensor fällt aus, ein Quiz wird verpasst. pandas kennzeichnet jede leere Zelle mit NaN, „keine Zahl“:

Eine Tabelle mit vier Studierenden und zwei Quizzen mit drei leeren Zellen, die mit NaN markiert sind: Ben hat quiz1 verpasst, Cy und Dee haben quiz2 verpasst. Darunter die Anzahl der Lücken pro Spalte: 0, 1 und 2

Die meisten Modelle akzeptieren NaN nicht, also zähle zuerst die Lücken. .isna() markiert jede einzelne mit True, und .sum() zählt sie:

scores = pd.DataFrame({
    "name": ["Ana", "Ben", "Cy", "Dee"],
    "quiz1": [8, np.nan, 7, 9],  # np.nan ist ein fehlender Wert
    "quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())

Dies gibt Folgendes aus:

name     0
quiz1    1
quiz2    2
dtype: int64

Wähle dann: dropna() entfernt jede Zeile mit einer Lücke; fillna(0) trägt in jede eine 0 ein. Beide geben eine neue Tabelle zurück, speichere sie also.

Statistiken lassen NaN aus: Der Mittelwert von quiz1 beträgt 8.0 und ergibt sich aus den drei bekannten Punktzahlen.

challenge icon

Aufgabe

Mittel

Ein Fitness-Tracker hat einige Messwerte in tracker.csv nicht erfasst. Sieh dir vor dem Training an, wie sich die verschiedenen Methoden zum Umgang mit Lücken auf den Durchschnitt von sleep auswirken. Das Starterprogramm liest hours ein, einen Füllwert.

  1. Gib die Anzahl der Lücken in jeder Spalte aus.
  2. Gib den mittleren Schlafwert, auf 2 Dezimalstellen gerundet, auf drei Arten aus: unter Auslassen der Lücken, für Tage ohne Lücke in irgendeiner Spalte und mit Lücken, die mit hours gefüllt wurden.

Für einen anderen Tracker und 8:

day      0
steps    1
sleep    2
water    0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21

Probier es selbst

import pandas as pd

tracker = pd.read_csv("tracker.csv")
hours = float(input())

# Schreibe deinen Code unten
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Daten und Diagramme

Übe selbstständig: Online-Python-Compiler