ホームページ  >  記事  >  バックエンド開発  >  pandas DataFrame の NaN 値を、対応する各列の平均に置き換えるにはどうすればよいですか?

pandas DataFrame の NaN 値を、対応する各列の平均に置き換えるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 18:17:30287ブラウズ

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

パンダ データフレームで NaN 値を列平均に置き換える

パンダ データフレームでは NaN 値が発生する可能性があり、適切な値での置換が必要になりますデータ分析用。この記事では、NaN を対応する各列の平均に置き換えるという課題について説明します。

numpy 配列とは異なり、pandas DataFrame は numpy 配列に使用される平均化手法を直接適用できません。代わりに、DataFrame.fillna メソッドが簡単な解決策を提供します。

DataFrame.fillna の使用

NaN 値を列の平均値で埋めるには、次を使用します。次のコード:

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

例:

NaN 値を含む次の DataFrame について考えます:

          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

Using DataFrame。 fillna では、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  -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

したがって、NaN 値は適切な列の平均値に置き換えられています。

以上がpandas DataFrame の NaN 値を、対応する各列の平均に置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。