Wie behandelt man fehlende Werte (NaN) in einem Pandas DataFrame?
Antwort:
Fehlende Werte können mit df.dropna() zum Entfernen von Zeilen/Spalten mit NaNs oder mit df.fillna() zum Ersetzen von NaNs durch einen bestimmten Wert (z. B. 0, Mittelwert, Median oder Vorwärts-/Rückwärtsfüllung) behandelt werden. Die Wahl hängt von den Daten und den AnalyseZielen ab.
Erklären Sie den Unterschied zwischen loc und iloc für die DataFrame-Indizierung.
Antwort:
loc ist hauptsächlich eine labelbasierte Indizierung, was bedeutet, dass Sie Zeilen-/Spaltenbeschriftungen zur Datenauswahl verwenden. iloc ist eine integer-positionsbasierte Indizierung, was bedeutet, dass Sie Ganzzahlpositionen (von 0 bis Länge-1) zur Datenauswahl verwenden. Beide können für einzelne Auswahlen oder Slicing verwendet werden.
Wie führt man eine JOIN-Operation im SQL-Stil zwischen zwei DataFrames in Pandas durch?
Antwort:
SQL-ähnliche JOINs werden mit der Funktion pd.merge() durchgeführt. Sie geben die DataFrames, das Argument on für gemeinsame Spalten und das Argument how für den Join-Typ (z. B. 'inner', 'left', 'right', 'outer') an.
Beschreiben Sie, wie Daten in einem DataFrame gruppiert und eine Aggregationsfunktion angewendet wird.
Antwort:
Daten werden mit der Methode df.groupby() gruppiert, wobei die zu gruppierenden Spalten angegeben werden. Nach der Gruppierung kann eine Aggregationsfunktion wie sum(), mean(), count(), min() oder max() auf das gruppierte Objekt angewendet werden, um die Daten zusammenzufassen.
Wie kann man eine benutzerdefinierte Funktion auf eine DataFrame-Spalte oder -Zeile anwenden?
Antwort:
Für spaltenweise Operationen verwenden Sie df['column'].apply(custom_func). Für zeilenweise oder elementweise Operationen über mehrere Spalten hinweg verwenden Sie df.apply(custom_func, axis=1) für Zeilen oder df.apply(custom_func, axis=0) für Spalten. Vektorisierte Operationen werden im Allgemeinen aus Leistungsgründen bevorzugt.
Wofür wird pivot_table verwendet und wie unterscheidet es sich von groupby?
Antwort:
pivot_table wird verwendet, um eine Pivot-Tabelle im Stil einer Tabellenkalkulation als DataFrame zu erstellen, die Daten nach einer oder mehreren Schlüsselspalten zusammenfasst. Während groupby Daten basierend auf einem oder mehreren Schlüsseln aggregiert, ermöglicht pivot_table auch das Entstapeln und Umformen der Daten in ein neues tabellarisches Format mit angegebenem Index, Spalten und Werten.
Wie ändert man den Datentyp einer Spalte in einem Pandas DataFrame?
Antwort:
Der Datentyp einer Spalte kann mit der Methode astype() geändert werden, z. B. df['column'] = df['column'].astype('int') oder df['column'] = pd.to_datetime(df['column']) für Daten. Dies ist entscheidend für die korrekte Datenmanipulation und -analyse.
Erklären Sie, wie doppelte Zeilen aus einem DataFrame entfernt werden.
Antwort:
Doppelte Zeilen können mit der Methode df.drop_duplicates() entfernt werden. Standardmäßig werden alle Spalten berücksichtigt und die erste Übereinstimmung beibehalten. Sie können eine Teilmenge von Spalten mit dem Argument subset und ob die 'first', 'last' oder False (alle) Duplikate beibehalten werden sollen, angeben.
Wie würden Sie neue Spalten basierend auf vorhandenen Spalten in einem DataFrame erstellen?
Antwort:
Neue Spalten können durch Operationen auf vorhandenen Spalten erstellt werden, z. B. df['new_col'] = df['col1'] + df['col2']. Für komplexere Logik kann die apply()-Methode mit einer Lambda-Funktion oder einer definierten Funktion verwendet werden, oder np.where() für bedingte Zuweisungen.
Was ist der Zweck von stack() und unstack() in Pandas?
Antwort:
stack() transformiert einen DataFrame (oder eine Series) vom breiten in das lange Format, indem der innerste Spaltenindex zum innersten Zeilenindex wird. unstack() führt die umgekehrte Operation durch, indem der innerste Zeilenindex zum innersten Spaltenindex wird und vom langen in das breite Format transformiert wird.
Wie sortiert man einen DataFrame nach einer oder mehreren Spalten?
Antwort:
Ein DataFrame kann mit der Methode df.sort_values() sortiert werden. Sie geben das Argument by mit einem Spaltennamen oder einer Liste von Spaltennamen an. Das Argument ascending (standardmäßig True) steuert die Sortierreihenfolge, und inplace=True kann den DataFrame direkt ändern.
Wann würden Sie pd.concat() im Vergleich zu pd.merge() verwenden?
Antwort:
pd.concat() wird verwendet, um DataFrames entlang einer Achse (zeilenweise oder spaltenweise) zu kombinieren, wenn sie ähnliche Strukturen haben oder Sie sie stapeln möchten. pd.merge() wird verwendet, um DataFrames basierend auf gemeinsamen Spalten (Schlüsseln) zu kombinieren, ähnlich wie SQL-Joins, wenn Sie verwandte Daten aus verschiedenen Quellen kombinieren möchten.