DataFrameの欠損値判定と埋め込み

欠損値判定

Python には通常、欠損値の 4 種類があります:
1、None
2、False
3、''
4、nan

最初の 3 つは簡単に判断でき、直接使用するだけです==が、4 つ目は==直接判断できません。これが起こります。
ここに画像の説明を挿入

NaN (非数値) は、数学的表現では表現できない数値を表します。通常、ここには別の表現 inf があります。inf と nan の違いは、inf が浮動小数点表現の範囲を超えた浮動小数点数であることです (本質は依然としてそのままです)これは数値ですが、無限であるため、1/0 などの浮動小数点数では表すことができません。一方、nan は通常、非浮動小数点数 (無理数など) を表します。

数学では、inf==inf、inf == inf+X (X は任意の浮動小数点数)、nan != nan なので、Python で数値が nan であるかどうかを判断するには、等しいかどうかを直接判断できます。それ自体に。

この場合、np.isnan()関数を使用して判断できます。
ここに画像の説明を挿入


欠損値の穴埋め

欠損値を判断する方法を理解したら、欠損値を埋めることができます。ここでは、DataFrame の各列の値を平均値で埋める方法を説明します

ここに画像の説明を挿入

Pythonの実装

def fillna_mean(df):
    for cols in list(df.columns[df.isnull().sum() > 0]):
        mean_val = df[cols].mean() # 这里可以更改需要的公式
        df[cols].fillna(mean_val, inplace=True)
        
    return df

fillna_mean(df)

ここに画像の説明を挿入

参考資料:
Pythonは空のNaNかどうかを判断する
pandasは平均値を使って欠損値の列を埋める ヒント共有

おすすめ

転載: blog.csdn.net/weixin_46599926/article/details/127944796