Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata setiap lajur yang sepadan?

Susan Sarandon
Lepaskan: 2024-10-28 18:17:30
asal
365 orang telah melayarinya

How do you replace NaN values in a pandas DataFrame with the average of each corresponding column?

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

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

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

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!

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