Menetapkan Nilai dalam Sel Pandas DataFrame mengikut Indeks
Untuk menetapkan nilai sel tertentu dalam Pandas DataFrame berdasarkan indeksnya, pertimbangkan perkara berikut :
Menggunakan df.set_value(index, column, value)
df.set_value() membenarkan anda memberikan nilai secara langsung kepada sel menggunakan indeksnya. Walau bagaimanapun, ambil perhatian bahawa kaedah ini dijadualkan untuk penamatan.
# Correct way: df.set_value('C', 'x', 10)
Menggunakan df.at[index, column] = value
Alternatif pilihan ialah menggunakan df .at[] untuk mengemas kini nilai sel secara langsung. Kaedah ini lebih cekap dan menyediakan sintaks yang lebih ringkas.
df.at['C', 'x'] = 10
Menggunakan Pengindeksan Berantai
Awas: Walaupun ia mungkin kelihatan intuitif untuk gunakan pengindeksan berantai untuk menetapkan nilai sel (cth., df.xs('C')['x'] = 10), kaedah ini hanya mengubah suai salinan baris atau lajur. Untuk mengubah suai DataFrame asal secara langsung, gunakan sama ada df.set_value() atau df.at[].
Mengapa Pengindeksan Berantai Gagal
Pengindeksan berantai (mis., df. xs('C')['x'] = 10) mencipta objek DataFrame baharu dengan rujukan kepada yang asal data. Tugasan yang dibuat pada objek baharu ini tidak disebarkan kepada DataFrame asal.
Prestasi
Tanda aras menunjukkan bahawa df.set_value() ialah pilihan terpantas, diikuti dengan df' x' = 10 dan df.at['C', 'x'] = 10. Walau bagaimanapun, perbezaan prestasi boleh berbeza-beza bergantung kepada Saiz dan kerumitan DataFrame.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai dengan Cekap dalam Sel DataFrame Pandas mengikut Indeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!