欠損値判定
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)