我有一个同时包含数字和分类值的数据框 所以我将数值拆分并归入缺失值
from pyspark.ml.feature import Imputer
imputer = Imputer(strategy='mean',inputCols=data.columns,
outputCols=["{}_imputed".format(c) for c in data.columns]
)
impdf = imputer.fit(data).transform(data)
import pandas as pd
import numpy as np
condition = lambda col: '_imputed' in col
new_df = impdf.select(*filter(condition, impdf.columns))
我正在使用“均值”估算值。然后,我使用下面的代码查看是否仍然存在空值
from pyspark.sql.functions import isnan, when, count, col
new_df.select([count(when(col(c).isNull(), c)).alias(c) for c in new_df.columns]).show(truncate = False, vertical = True)
列显示为0,表示没有缺失值
但是,当我计算相关性时,我得到的是NaN值
corr_matrix = numeric_data.corr().abs()
# Select upper triangle of correlation matrix
upper = corr_matrix.where(np.triu(np.ones(corr_matrix.shape), k=1).astype(np.bool))
是什么原因引起的问题