好吧,正如标题所说。我非常努力地只使用Numpy对数据集进行归一化。
数据集应如下所示:
remove_nan = data[~np.isnan(data).any(axis=1)]
有14个要素和100个数据。我正在尝试删除缺少类的行,并删除具有4个缺少功能的行。
好的,我认为问题很明显,这就是我所做的:
删除缺少类功能的行:
class_index=14 #14 features
num_classes=3 # 1,2,3 classes
nan_indexes=np.isnan(data)
nan_counts=np.sum(nan_indexes,axis=1)
for class_value in range (0,num_classes):
filtered_rows = [row for row, nan_count in zip(raw_data,
nan_counts)] if row[class_index]==class_value and nan_count < 4]
print(filtered_rows)
删除具有缺少类功能和4个缺少功能的行:
[]
[]
[]
我想找回一些值,相反我得到了空值
terminate-instances
我在这里想念什么?请赐教。
答案 0 :(得分:0)
尝试data = np.array([i for i in data if len(i[~np.isnan(i)])>10])
列表推导用于挑选出具有10个以上非nan值的行(因此删除具有4个或更多缺失值的行)。然后将生成的2-d列表转换为numpy数组。