Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggantikan Nilai NaN dengan Cekap dalam Pandas DataFrame?
Menggantikan NaN dengan Cekap dalam Bingkai Data Pandas
Dalam analisis data, nilai nol atau NaN boleh menimbulkan cabaran. Sebagai contoh, mari kita pertimbangkan DataFrame panda dengan NaNs:
import pandas as pd df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
Untuk mengendalikan NaN ini dengan berkesan, kami mencari penyelesaian yang elegan untuk menggantikannya dengan nilai logik.
Pendekatan Pengisian Hadapan
Satu kaedah yang cekap dan bebas gelung ialah menggunakan kaedah fillna dengan parameter ffill. Operasi ini menyebarkan nilai pemerhatian terakhir ke hadapan, menggantikan mana-mana NaN berikutnya. Untuk DataFrame yang diberikan, ia menghasilkan:
df.fillna(method='ffill')
0 1 2 0 1 2 3 1 4 2 3 2 4 2 9
Pendekatan Pengisian Belakang
Sebagai alternatif, jika menggantikan NaN dengan nilai terdekat dalam lajur yang sama tetapi dalam arah ke belakang dikehendaki, parameter bfill boleh digunakan. Kaedah ini menyebarkan nilai cerapan pertama ke belakang, mengisi NaNs.
Pengubahsuaian Di Tempat
Secara lalai, kaedah fillna tidak mengubah suai DataFrame asal. Untuk menggunakan perubahan secara kekal, gunakan inplace=True.
df.fillna(method='ffill', inplace=True)
Operasi ini secara langsung mengemas kini df, menggantikan semua NaN mengikut kaedah yang ditentukan.
Kesimpulan
Dengan memanfaatkan fleksibiliti kaedah fillna, kami boleh menggantikan NaN dengan cekap dalam DataFrames panda dengan kedua-dua teknik pengisian ke hadapan dan ke belakang, memastikan data yang bersih dan lengkap untuk dianalisis.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Nilai NaN dengan Cekap dalam Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!