Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengubah suai nilai tertentu dalam Pandas DataFrame berdasarkan nilai bersyarat menggunakan tugasan rantaian dan fungsi loc?

Bagaimanakah saya boleh mengubah suai nilai tertentu dalam Pandas DataFrame berdasarkan nilai bersyarat menggunakan tugasan rantaian dan fungsi loc?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 03:31:02918semak imbas

How can I modify specific values in a Pandas DataFrame based on conditional values using chaining assignment and the loc function?

Penugasan Rantaian dan Fungsi Loc Pandas untuk Mengubah Suai Data Berdasarkan Nilai Bersyarat

Dalam perpustakaan Pandas Python, pengendalian manipulasi data boleh memberikan cabaran untuk mereka yang biasa dengan alat pengaturcaraan lain. Artikel ini menangani pertanyaan khusus mengenai lelaran ke atas data Pandas untuk mengubah suai nilai tertentu berdasarkan syarat.

Masalah:

Tugas di tangan ialah mengubah suai dua nilai, FirstName dan Nama Akhir, dalam DataFrame berdasarkan nilai padanan dalam lajur ID. Khususnya, apabila ID bersamaan dengan 103, FirstName dan LastName hendaklah digantikan dengan "Matt" dan "Jones," masing-masing.

Penyelesaian: Kaedah Alternatif

Pendekatan 1: Menggunakan Menghiris dan Mengindeks dengan Loc

Untuk mengubah suai data berdasarkan nilai bersyarat dalam Pandas, satu pendekatan yang berkesan ialah menggunakan fungsi loc. Fungsi ini membenarkan penilaian logik dan menulis ganti data berdasarkan syarat yang ditentukan.

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

Pendekatan 2: Tugasan Berantai

Kaedah alternatif ialah tugasan berantai, yang melibatkan penugasan nilai kepada elemen tertentu dalam DataFrame berdasarkan keadaan. Walaupun kaedah ini tidak digalakkan kerana potensi ketidakstabilannya, kaedah ini tetap berguna untuk pemahaman:

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

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai nilai tertentu dalam Pandas DataFrame berdasarkan nilai bersyarat menggunakan tugasan rantaian dan fungsi loc?. 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