Rumah > pembangunan bahagian belakang > Tutorial Python > Bila hendak menggunakan Panda `map`, `applymap` atau `apply`?

Bila hendak menggunakan Panda `map`, `applymap` atau `apply`?

Linda Hamilton
Lepaskan: 2024-12-07 08:36:16
asal
795 orang telah melayarinya

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

Memilih Antara peta, applymap dan gunakan dalam Pandas

Apabila bekerja dengan Pandas DataFrames, selalunya perlu menggunakan fungsi pada data dalam pelbagai cara. Tiga kaedah yang biasa digunakan untuk pengvektoran ialah peta, peta aplikasi dan gunakan. Setiap satu mempunyai tujuan dan aplikasi tersendiri.

Peta

peta ialah kaedah khusus untuk objek Siri dan menggunakan fungsi pada setiap elemen dalam Siri. Ia mengharapkan fungsi yang mengambil satu nilai sebagai input dan mengembalikan satu nilai.

Contoh:

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)
Salin selepas log masuk

Output:

0    1
1    4
2    9
3   16
4   25
dtype: int64
Salin selepas log masuk

Applymap

applymap menggunakan fungsi pada setiap elemen sesuatu DataFrame, melaksanakan operasi dari segi elemen. Seperti peta, ia menjangkakan fungsi yang mengambil satu nilai sebagai input dan mengembalikan satu nilai.

Contoh:

# 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)
Salin selepas log masuk

Output:

   a  b
0  1.00  4.00
1  2.00  5.00
2  3.00  6.00
Salin selepas log masuk

Apply

apply menggunakan fungsi pada setiap baris atau lajur DataFrame, bergantung pada parameter paksi. Ia lebih serba boleh berbanding peta dan peta pakai serta boleh mengendalikan fungsi yang memerlukan menghantar berbilang nilai sebagai input.

Contoh:

# 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)
Salin selepas log masuk

Output:

0    3.00
1    3.00
2    3.00
dtype: float64
Salin selepas log masuk

Penggunaan Ringkasan

  • peta: Aplikasi fungsi mengikut elemen kepada Siri
  • applymap: Aplikasi fungsi mengikut elemen ke DataFrame
  • mohon: Aplikasi fungsi baris/lajur ke DataFrame, dengan pengendalian input/output yang fleksibel

Atas ialah kandungan terperinci Bila hendak menggunakan Panda `map`, `applymap` atau `apply`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan