Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata lajur?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-30 19:04:02529semak imbas

How do you replace NaN values in a pandas DataFrame with column averages?

Menggantikan Nilai NaN dalam DataFrame panda dengan Purata Lajur

Mengisi nilai NaN dalam DataFrame panda dengan purata lajur yang sepadan ialah tugas biasa dalam analisis data. Walaupun numpy menawarkan pendekatan mudah untuk tatasusunan, DataFrames panda memerlukan penyelesaian yang disesuaikan.

Pendekatan:

Untuk menggantikan nilai NaN dalam DataFrame dengan purata lajur, kami boleh menggunakan kaedah DataFrame.fillna:

<code class="python">df.fillna(df.mean())</code>

Contoh:

Pertimbangkan DataFrame dengan nilai NaN:

<code class="python">import pandas as pd

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]
})</code>

Mengira min setiap lajur:

<code class="python">column_averages = df.mean()</code>

Dan akhirnya, menggantikan nilai NaN:

<code class="python">df_filled = df.fillna(column_averages)</code>

Keputusan:

<code class="python">print(df_filled)

          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</code>

Seperti yang dilihat dalam output , nilai NaN berjaya digantikan dengan purata lajur masing-masing.

Atas ialah kandungan terperinci Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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