Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menambah Lajur Panda Baharu dengan Nilai Dipetakan daripada Kamus?

Bagaimana untuk Menambah Lajur Panda Baharu dengan Nilai Dipetakan daripada Kamus?

Barbara Streisand
Barbara Streisandasal
2024-11-03 09:51:02364semak imbas

How to Add a New Pandas Column with Mapped Values from a Dictionary?

Menambah Lajur Panda Baharu dengan Nilai Dipetakan daripada Kamus

Memetakan nilai daripada kamus ke lajur baharu dalam Pandas DataFrame boleh menjadi tugas yang membosankan. Walaupun fungsi equiv() tidak boleh dipanggil dalam kod yang disediakan, terdapat kaedah alternatif untuk mencapai matlamat ini.

Satu pendekatan yang berkesan ialah menggunakan fungsi map() bersama-sama dengan kamus. Coretan kod berikut menunjukkan cara untuk menetapkan nilai yang dipetakan daripada equiv kepada lajur baharu "B" dalam DataFrame df:

<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)</code>

Dengan menghantar fungsi map() ungkapan lambda yang merujuk kamus equiv, kod berjaya menambah lajur baharu "B" dengan nilai dipetakan yang sepadan.

<code class="python">df["B"] = df["A"].map(lambda x: equiv[x])</code>

Hasilnya ialah DataFrame dengan lajur "B" yang dikehendaki, mengandungi nilai yang dipetakan:

      A  B
0  7001  1
1  8001  2
2  9001  3

Kaedah ini mengendalikan kekunci hilang dalam kamus dengan anggun, menghasilkan nilai NaN dalam lajur baharu.

<code class="python">import pandas as pd

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

print(df)

       A   B
0   7001   1
1   8001   2
2   9001   3
3  10000 NaN</code>

Ringkasnya, menggunakan fungsi map() menawarkan cara yang mudah dan cekap untuk menambah lajur dengan nilai yang dipetakan daripada kamus dalam Pandas DataFrames.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur Panda Baharu dengan Nilai Dipetakan daripada Kamus?. 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