Heim >Backend-Entwicklung >Python-Tutorial >Wie unterscheiden sich „map', „applymap' und „apply' bei der Pandas-Vektorisierung?

Wie unterscheiden sich „map', „applymap' und „apply' bei der Pandas-Vektorisierung?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 03:09:10718Durchsuche

How Do `map`, `applymap`, and `apply` Differ in Pandas Vectorization?

Vektorisierungsmethoden in Pandas: Karte, Applymap und Apply

Pandas bietet praktische Methoden zum Anwenden von Funktionen auf Datenstrukturen. Map, Applymap und Apply sind drei solcher Methoden, die die Datenmanipulation und -transformation erleichtern. Jede Methode dient einem bestimmten Zweck und ihre Verwendung hängt vom gewünschten Ergebnis ab.

map

map wird verwendet, wenn eine Funktion elementweise auf eine Serie angewendet wird. Es gibt eine neue Serie mit den transformierten Werten zurück.

Beispiel:

import pandas as pd

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

def square(x):
    return x ** 2

squared_series = series.map(square)

print(squared_series)
# Output:
# 0    1
# 1    4
# 2    9
# 3   16
# 4   25
# dtype: int64

applymap

applymap wendet eine Funktion an elementweise zu einem DataFrame. Es erstellt einen neuen DataFrame mit den transformierten Werten.

Beispiel:

df = pd.DataFrame({
    'name': ['John', 'Jane', 'Tom'],
    'age': [20, 25, 30]
})

def capitalize(x):
    return x.capitalize()

df['name'] = df['name'].applymap(capitalize)

print(df)
# Output:
#    name  age
# 0  John   20
# 1  Jane   25
# 2  Tom    30

Anwenden

Anwenden ermöglicht mehr komplexe Transformationen durch zeilen- oder spaltenweises Anwenden einer Funktion auf einen DataFrame. Es gibt eine Serie oder einen DataFrame mit den Ergebnissen zurück.

Beispiel:

def get_age_group(age):
    if age <= 20:
        return 'Young'
    elif age <= 40:
        return 'Middle-aged'
    else:
        return 'Senior'

df['age_group'] = df['age'].apply(get_age_group)

print(df)
# Output:
#   name  age age_group
# 0  John   20     Young
# 1  Jane   25  Middle-aged
# 2  Tom    30  Middle-aged

Das obige ist der detaillierte Inhalt vonWie unterscheiden sich „map', „applymap' und „apply' bei der Pandas-Vektorisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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