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

Patricia Arquette
Lepaskan: 2024-10-30 19:04:02
asal
448 orang telah melayarinya

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

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

Mengira min setiap lajur:

<code class="python">column_averages = df.mean()</code>
Salin selepas log masuk

Dan akhirnya, menggantikan nilai NaN:

<code class="python">df_filled = df.fillna(column_averages)</code>
Salin selepas log masuk

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

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!