Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggantikan Nilai dalam Lajur Pandas DataFrame Berdasarkan Nilai Padanan dalam Lajur Lain?

Bagaimana untuk Menggantikan Nilai dalam Lajur Pandas DataFrame Berdasarkan Nilai Padanan dalam Lajur Lain?

Barbara Streisand
Barbara Streisandasal
2024-11-01 06:04:31276semak imbas

How to Replace Values in Pandas DataFrame Columns Based on Matching Values in Another Column?

Mengubah suai Data dalam Panda Berdasarkan Nilai Padanan

Apabila beralih daripada Stata kepada Panda untuk manipulasi data, fahami pendekatan untuk menukar nilai berdasarkan syarat yang sepadan adalah penting. Pertimbangkan situasi di mana kita ingin menggantikan nilai tertentu dalam lajur "FirstName" dan "LastName" apabila nilai yang sepadan dalam lajur "ID" sepadan dengan nombor tertentu.

Dalam Stata, tugas ini adalah mudah menggunakan arahan seperti "ganti Nama Pertama = 'Matt' jika ID ==103." Untuk mencapai hasil yang serupa dalam Pandas, kita boleh menggunakan kaedah penetapan loc atau berantai.

Kaedah loc:

Kaedah loc menggunakan pengindeksan logik untuk menilai dan mengubah suai data berdasarkan syarat tertentu:

<code class="python">import pandas as pd
df = pd.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

Tugasan Berantai:

Tugasan berantai, walaupun tidak digalakkan dalam versi Pandas yang lebih baharu, juga boleh digunakan untuk tugasan ini:

<code class="python">import pandas as pd
df = pd.read_csv("test.csv")
df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

Dalam kedua-dua kaedah, ungkapan "df.ID == 103" mencipta topeng Boolean, dengan True menunjukkan baris dengan ID bersamaan dengan 103. Tugasan seterusnya kemudian mengubah suai nilai соответствующий dalam "Nama Pertama" dan "Nama Akhir". " lajur.

Nota: Untuk versi Pandas yang lebih lama, tugasan berantai ialah pendekatan yang boleh diterima. Walau bagaimanapun, loc ialah kaedah pilihan dalam versi yang lebih moden kerana ia memberikan kestabilan yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Nilai dalam Lajur Pandas DataFrame Berdasarkan Nilai Padanan dalam Lajur Lain?. 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