
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:
1 | <code class = "python" >df.fillna(df.mean())</code>
|
Salin selepas log masuk
Contoh:
Pertimbangkan DataFrame dengan nilai NaN:
1 2 3 4 5 6 7 | <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:
1 | <code class = "python" >column_averages = df.mean()</code>
|
Salin selepas log masuk
Dan akhirnya, menggantikan nilai NaN:
1 | <code class = "python" >df_filled = df.fillna(column_averages)</code>
|
Salin selepas log masuk
Keputusan:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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!