Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk 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!