Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memetakan Nilai Kamus ke Lajur Panda Baharu?

Bagaimana untuk Memetakan Nilai Kamus ke Lajur Panda Baharu?

Linda Hamilton
Lepaskan: 2024-10-29 20:35:02
asal
559 orang telah melayarinya

How to Map Dictionary Values to a New Pandas Column?

Memetakan Nilai Kamus ke Lajur Panda Baharu

Apabila berurusan dengan bingkai data Pandas, mungkin terdapat keadaan yang perlu menambah lajur baharu berdasarkan pada nilai yang dipetakan daripada lajur sedia ada. Untuk mencapai matlamat ini, salah tanggapan biasa ialah menggunakan fungsi equiv sebagai parameter dalam tugasan lajur baharu. Walau bagaimanapun, ini akan mengakibatkan ralat kerana equiv bukan fungsi boleh panggil.

Pendekatan yang betul ialah menggunakan fungsi peta Pandas. Sintaks untuk menambah lajur baharu berdasarkan nilai dipetakan daripada kamus adalah seperti berikut:

df["new_column"] = df["existing_column"].map(mapping_function)
Salin selepas log masuk

Fungsi pemetaan ialah fungsi yang menerima nilai lajur sedia ada dan mengembalikan nilai dipetakan yang dikehendaki. Dalam kes ini, fungsi pemetaan ialah fungsi lambda yang menggunakan equiv kamus untuk mendapatkan semula nilai dipetakan yang sepadan:

mapping_function = lambda x: equiv[x]
Salin selepas log masuk

Dengan menggunakan kaedah ini, kerangka data df akan dikemas kini dengan lajur baharu "B" yang mengandungi nilai yang dipetakan daripada lajur "A" berdasarkan kamus yang disediakan:

import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame({"A": [7001, 8001, 9001]})
df["B"] = df["A"].map(lambda x: equiv[x])

print(df)
Salin selepas log masuk

Output:

      A   B
0  7001   1
1  8001   2
2  9001   3
Salin selepas log masuk

Kaedah ini dengan lancar mengendalikan senario di mana kunci tidak terdapat dalam kamus, seperti yang ditunjukkan di bawah:

equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame({"A": [7001, 8001, 9001, 10000]})
df["B"] = df["A"].map(lambda x: equiv[x])

print(df)
Salin selepas log masuk

Output:

       A   B
0   7001   1
1   8001   2
2   9001   3
3  10000 NaN
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memetakan Nilai Kamus ke Lajur Panda Baharu?. 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