我有两个文件。一个文件包含我的属性的详细信息,名称为detail.csv,另一个文件是数据文件,其中包含有关这些属性的数据,名称为data.csv
在detail.csv文件中,我们有两列“属性”和“缺少值的表示形式”,这两列提供属性的名称,而“缺少值的表示形式”列出了被用作该属性的缺失值的值的列表。相同的已在下面给出。
Attribute Missing value representation
Height [-1,0]
Weight [X]
Salary []
Gender [XX]
现在,使用此信息,我必须用NaN替换数据文件“ data.csv”中所有相应属性的所有缺失值。数据文件中的数据表示为:
Height Weight Salary Gender
-1 50 20000 F
132 X XX
我该怎么做?
答案 0 :(得分:1)
假设您阅读了CSV,并且它们看起来像:
Attribute Missing value representation
0 Height [-1, 0]
1 Weight [X]
2 Salary []
3 Gender [XX]
Height Weight Salary Gender
0 -1 50 20000 F
1 132 X XX
您可以执行以下操作:
import numpy as np
for key,row in details.iterrows():
for el in row['Missing value representation']:
data[row['Attribute']].replace(el,np.NaN,inplace=True)
您为每一列获取所有可能的缺失值表示形式,浏览这些列并将其替换为NaN。