Heim > Backend-Entwicklung > Python-Tutorial > Wann sollte man Pandas „map', „applymap' oder „apply' verwenden?

Wann sollte man Pandas „map', „applymap' oder „apply' verwenden?

Linda Hamilton
Freigeben: 2024-12-07 08:36:16
Original
840 Leute haben es durchsucht

When to Use Pandas `map`, `applymap`, or `apply`?

Auswahl zwischen „map“, „applymap“ und „apply in Pandas“

Bei der Arbeit mit Pandas DataFrames ist es oft notwendig, Funktionen auf die Daten anzuwenden auf verschiedene Weise. Drei häufig verwendete Methoden zur Vektorisierung sind Map, Applymap und Apply. Jedes hat seinen eigenen Zweck und seine eigene Anwendung.

Map

Map ist eine für Serienobjekte spezifische Methode und wendet eine Funktion auf jedes Element in der Serie an. Es erwartet eine Funktion, die einen einzelnen Wert als Eingabe akzeptiert und einen einzelnen Wert zurückgibt.

Beispiel:

import pandas as pd

# Create a Series
series = pd.Series([1, 2, 3, 4, 5])

# Apply a function to each element
def square(x):
    return x**2

# Apply the function to the series using map
squared_series = series.map(square)

print(squared_series)
Nach dem Login kopieren

Ausgabe:

0    1
1    4
2    9
3   16
4   25
dtype: int64
Nach dem Login kopieren

Applymap

applymap wendet eine Funktion auf jedes Element eines DataFrame an, Ausführen der Operation elementweise. Wie Map erwartet es eine Funktion, die einen einzelnen Wert als Eingabe akzeptiert und einen einzelnen Wert zurückgibt.

Beispiel:

# Create a DataFrame
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

# Apply a function to each element of the DataFrame
def format_number(x):
    return "{:.2f}".format(x)

# Apply the function to the DataFrame using applymap
formatted_df = df.applymap(format_number)

print(formatted_df)
Nach dem Login kopieren

Ausgabe:

   a  b
0  1.00  4.00
1  2.00  5.00
2  3.00  6.00
Nach dem Login kopieren

Anwenden

Anwenden wendet eine Funktion auf jede Zeile oder Spalte von a an DataFrame, abhängig vom Achsenparameter. Es ist vielseitiger als Map und Applymap und kann Funktionen verarbeiten, die die Übergabe mehrerer Werte als Eingaben erfordern.

Beispiel:

# Apply a function to each row of the DataFrame
def get_max_min_diff(row):
    return row.max() - row.min()

max_min_diff = df.apply(get_max_min_diff, axis=1)

print(max_min_diff)
Nach dem Login kopieren

Ausgabe:

0    3.00
1    3.00
2    3.00
dtype: float64
Nach dem Login kopieren

Nutzung Zusammenfassung

  • map: Elementweise Funktionsanwendung auf Serien
  • applymap: Elementweise Funktionsanwendung auf DataFrame
  • Anwenden: Zeilen-/spaltenweise Funktionsanwendung auf DataFrame, mit flexibler Funktion Eingabe-/Ausgabeverarbeitung

Das obige ist der detaillierte Inhalt vonWann sollte man Pandas „map', „applymap' oder „apply' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage