Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah `peta`, `applymap` dan `apply` Berbeza dalam Vektorisasi Panda?

Bagaimanakah `peta`, `applymap` dan `apply` Berbeza dalam Vektorisasi Panda?

Patricia Arquette
Patricia Arquetteasal
2024-12-07 03:09:10720semak imbas

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

Kaedah Vektorisasi dalam Panda: peta, terapkan peta dan guna

Panda menawarkan kaedah yang mudah untuk menggunakan fungsi pada struktur data. peta, applymap dan apply ialah tiga kaedah sedemikian yang memudahkan manipulasi dan transformasi data. Setiap kaedah mempunyai tujuan tertentu, dan penggunaannya bergantung pada hasil yang diingini.

peta

peta digunakan apabila menggunakan elemen fungsi pada Siri. Ia mengembalikan Siri baharu dengan nilai yang diubah.

Contoh:

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 menggunakan fungsi unsur-bijak kepada DataFrame. Ia mencipta DataFrame baharu dengan nilai yang diubah.

Contoh:

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

mohon

mohon membolehkan lebih banyak transformasi yang kompleks dengan menggunakan baris atau lajur fungsi pada DataFrame. Ia mengembalikan Siri atau DataFrame dengan hasilnya.

Contoh:

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

Atas ialah kandungan terperinci Bagaimanakah `peta`, `applymap` dan `apply` Berbeza dalam Vektorisasi Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn