删除两个数据框中的缺失行

数据挖掘 机器学习 数据清理 缺失数据 卡格尔
2022-02-27 07:15:48

我有两个文件: Test_data - 包含数据集的特征以查找 Submission_data 的预测 - 包含两列:测试数据的索引列和对应预测值的另一列

所以,我必须对测试数据进行预测,并将预测值存储在提交文件中。

在测试数据的预处理期间,我删除了至少 50% 的特征(列)不包含值(NaN)的行:

test_data = test_data.dropna(thresh=math.ceil(test_data.shape[1]/2))

现在,如何删除提交数据框中的相应行?因为,如果我在测试数据中删除一些行,我无法对提交数据框/文件中的相应行进行预测。

问题是,有一个索引列没有唯一值(在测试数据和提交数据中)

那么,如何删除在测试数据中也被删除的提交数据中的行?

我是 ML 挑战的新手,我觉得这很有挑战性。

1个回答

当您读取两个 csv 文件并将数据存储在两个数据帧中时,您可以将其合并为一个数据帧,执行 dropna,然后将其拆分回来。我将举一个使用熊猫的例子

import pandas as pd df1 = pd.read_csv('test_data.csv') df2 = pd.read_csv('submission_data.csv') df3 = pd.concat([df1, df2], axis=1) # 这会将两者结合起来dfs。

reduce_data = df3.dropna(thresh=math.ceil(test_data.shape[1]/2)) 预测 = reduce_data.loc[:,['predictions']] reduce_data.drop(columns=['predictions'], inplace=真的)

#而不是“预测”,使用您对 submit_data.csv 文件中的预测的任何列名称。

希望这可以帮助。