Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menetapkan Nilai dengan Cekap dalam Sel DataFrame Pandas mengikut Indeks?

Bagaimana untuk Menetapkan Nilai dengan Cekap dalam Sel DataFrame Pandas mengikut Indeks?

Linda Hamilton
Lepaskan: 2024-11-30 18:02:12
asal
662 orang telah melayarinya

How to Efficiently Set Values in Pandas DataFrame Cells by Index?

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)
Salin selepas log masuk

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
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan