Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda menggantikan nilai NaN dalam DataFrame panda dengan purata lajur?
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!