Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Menggantikan Nilai Secara Bersyarat dalam Lajur DataFrame Pandas?

Bagaimana Menggantikan Nilai Secara Bersyarat dalam Lajur DataFrame Pandas?

DDD
Lepaskan: 2024-12-31 17:13:13
asal
232 orang telah melayarinya

How to Conditionally Replace Values in a Pandas DataFrame Column?

Penggantian Nilai Bersyarat dalam Pandas DataFrames

Apabila bekerja dengan Pandas DataFrames, anda mungkin menghadapi situasi di mana anda perlu menukar nilai secara bersyarat berdasarkan syarat yang ditentukan. Soalan ini menggambarkan senario sedemikian, di mana pengguna berusaha untuk menggantikan nilai dalam lajur tertentu yang melebihi nilai ambang dengan sifar.

Pada mulanya, pengguna cuba menggunakan pendekatan berikut:

df[df.my_channel > 20000].my_channel = 0
Salin selepas log masuk

Bagaimanapun, kaedah ini tidak membuahkan hasil. Ini kerana Pandas telah menghentikan penggunaan pengindeks .ix sejak versi 0.20.0 dan pengguna sebaliknya harus menggunakan pengindeks .loc atau .iloc.

Penyelesaian yang betul melibatkan penggunaan .loc atau .iloc untuk menyasarkan baris atau lajur tertentu dan lakukan penggantian bersyarat. Begini cara anda boleh menggunakan .loc:

mask = df.my_channel > 20000
column_name = 'my_channel'
df.loc[mask, column_name] = 0
Salin selepas log masuk

Sebagai alternatif, anda boleh menyelesaikan tugas yang sama dalam satu baris menggunakan .loc:

df.loc[df.my_channel > 20000, 'my_channel'] = 0
Salin selepas log masuk

Pembolehubah topeng membantu mengenal pasti baris yang memuaskan syarat df.my_channel > 20000 dan df.loc[mask, column_name] = 0 memperuntukkan 0 kepada baris yang dipilih dalam lajur yang ditentukan.

Nota: Dalam senario khusus ini, disyorkan untuk menggunakan .loc sebaliknya daripada .iloc untuk mengelakkan NotImplementedError, sebagai pengindeksan boolean berasaskan integer dengan .iloc tidak disokong.

Atas ialah kandungan terperinci Bagaimana Menggantikan Nilai Secara Bersyarat dalam Lajur DataFrame Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan