Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggantikan Nilai NaN dengan Cekap dalam Pandas DataFrame?

Bagaimanakah Saya Boleh Menggantikan Nilai NaN dengan Cekap dalam Pandas DataFrame?

Barbara Streisand
Lepaskan: 2024-12-30 20:38:13
asal
133 orang telah melayarinya

How Can I Efficiently Replace NaN Values in a 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]])
Salin selepas log masuk

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')
Salin selepas log masuk
   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
Salin selepas log masuk

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

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!

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