Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata setiap lajur yang sepadan?
Ganti Nilai NaN dengan Purata Lajur dalam DataFrame panda
Dalam DataFrame panda, nilai NaN boleh timbul, memerlukan penggantian dengan nilai yang sesuai untuk analisis data. Artikel ini menangani cabaran untuk menggantikan NaN dengan purata setiap lajur yang sepadan.
Tidak seperti tatasusunan numpy, DataFrame panda tidak boleh menggunakan teknik purata yang digunakan untuk tatasusunan numpy. Sebaliknya, kaedah DataFrame.fillna menyediakan penyelesaian yang mudah.
Menggunakan DataFrame.fillna
Untuk mengisi nilai NaN dengan min lajur, gunakan kod berikut:
<code class="python">import pandas as pd # Create a DataFrame with NaN values df = pd.DataFrame({ 'A': [-0.166919, -0.297953, -0.120211, np.nan, np.nan, -0.788073, -0.916080, -0.887858, 1.948430, 0.019698], 'B': [0.979728, -0.912674, -0.540679, -2.027325, np.nan, np.nan, -0.612343, 1.033826, 1.025011, -0.795876], 'C': [-0.632955, -1.365463, -0.680481, 1.533582, 0.461821, np.nan, np.nan, np.nan, -2.982224, -0.046431] }) print("Original DataFrame with NaN values:") print(df) # Calculate column means column_means = df.mean() print("\nColumn means:") print(column_means) # Replace NaN values with column means df_filled = df.fillna(column_means) print("\nDataFrame with NaN values replaced by column means:") print(df_filled)</code>
Contoh:
Pertimbangkan DataFrame berikut dengan nilai NaN:
A B C 0 -0.166919 0.979728 -0.632955 1 -0.297953 -0.912674 -1.365463 2 -0.120211 -0.540679 -0.680481 3 NaN -2.027325 1.533582 4 NaN NaN 0.461821 5 -0.788073 NaN NaN 6 -0.916080 -0.612343 NaN 7 -0.887858 1.033826 NaN 8 1.948430 1.025011 -2.982224 9 0.019698 -0.795876 -0.046431
Menggunakan DataFrame. fillna, nilai NaN digantikan dengan lajur bermakna:
A B C 0 -0.166919 0.979728 -0.632955 1 -0.297953 -0.912674 -1.365463 2 -0.120211 -0.540679 -0.680481 3 -0.151121 -2.027325 1.533582 4 -0.151121 -0.231291 0.461821 5 -0.788073 -0.231291 -0.530307 6 -0.916080 -0.612343 -0.530307 7 -0.887858 1.033826 -0.530307 8 1.948430 1.025011 -2.982224 9 0.019698 -0.795876 -0.046431
Oleh itu, nilai NaN telah digantikan dengan purata lajur yang sesuai.
Atas ialah kandungan terperinci Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata setiap lajur yang sepadan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!