Pandas DataFrame: Menggantikan Nilai Lajur Berdasarkan Syarat
Dalam soalan ini, matlamatnya adalah untuk menggantikan nilai secara terpilih dalam lajur DataFrame berdasarkan suatu syarat. Memandangkan DataFrame yang mengandungi pasukan bola sepak dan musim pertama mereka, kami mahu menggantikan semua nilai dalam lajur 'Musim Pertama' yang melebihi 1990 dengan 1.
Penyelesaian yang disediakan, df.loc[(df['Musim Pertama) '] > 1990)] = 1, salah menggantikan semua nilai dalam baris yang dipilih, bukan hanya lajur sasaran. Untuk menangani perkara ini, kita perlu menentukan lajur untuk diubah suai.
Sintaks yang betul untuk pengubahsuaian ini ialah:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
Begini cara ia berfungsi:
Selepas melaksanakan baris kod ini, hanya nilai 'Musim Pertama' yang memenuhi syarat yang ditentukan akan digantikan dengan 1, mengekalkan seluruh DataFrame.
Pertimbangan Tambahan:
Jika hasil yang diingini ialah penunjuk boolean, bukannya menggantikan nilai dengan 1, kita boleh menggunakan syarat boolean untuk menjana Siri boolean dan menghantarnya ke jenis data integer:
df['First Season'] = (df['First Season'] > 1990).astype(int)
Ini akan menukar nilai True kepada 1 dan nilai False kepada 0, mewujudkan penunjuk boolean dalam lajur 'Musim Pertama'.
Atas ialah kandungan terperinci Bagaimana Menggantikan Nilai Lajur Secara Selektif dalam Bingkai Data Pandas Berdasarkan Syarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!