Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memetakan Nilai Kamus untuk Mencipta Lajur Baharu dalam Pandas DataFrame?

Bagaimana untuk Memetakan Nilai Kamus untuk Mencipta Lajur Baharu dalam Pandas DataFrame?

Susan Sarandon
Lepaskan: 2024-10-28 20:21:30
asal
269 orang telah melayarinya

How to Map Dictionary Values to Create a New Column in a Pandas DataFrame?

Mengatasi Kekecewaan Pemetaan Panda: Menambah Lajur dengan Nilai Kamus Dipeta

Dilema Permulaan:

Menghadapi cabaran yang kelihatan tidak dapat diatasi cuba untuk memasukkan lajur baharu ke dalam Pandas DataFrame, dengan nilai dipetakan berdasarkan data lajur sedia ada. Menggunakan kedua-dua fungsi lambda dan kamus mengakibatkan ralat atau hasil yang tidak dijangka.

Penyelesaian:

Pendekatan yang betul terletak pada penggunaan fungsi map() bersama-sama dengan kamus sasaran. Sintaksnya ialah: df["B"] = df["A"].map(equiv).

Penjelasan:

Fungsi map() menggunakan operasi kepada setiap elemen dalam lajur tertentu. Dalam kes ini, operasi mendapatkan semula nilai yang dipetakan daripada equiv kamus berdasarkan kekunci yang disediakan oleh data lajur.

Contoh:

Pertimbangkan kod berikut:

<code class="python">import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001]} )
df["B"] = df["A"].map(equiv)
print(df)</code>
Salin selepas log masuk

Output:

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

Pendekatan ini menambahkan nilai yang dipetakan pada lajur baharu B secara berkesan. Selain itu, ia mengendalikan kekunci yang hilang dengan anggun dengan mengembalikan NaN.

Pertimbangan Tambahan:

  • Pengendalian Kunci: Jika kunci dalam kamus tidak sepadan dengan mana-mana elemen dalam lajur, nilai yang dipetakan menjadi NaN.
  • Prestasi: Operasi pemetaan boleh menjadi intensif secara pengiraan untuk set data yang besar. Pertimbangkan teknik pengoptimuman jika perlu.

Atas ialah kandungan terperinci Bagaimana untuk Memetakan Nilai Kamus untuk Mencipta Lajur Baharu dalam Pandas DataFrame?. 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