我有两个文件。一个包含我的属性的详细信息,名称为detail.csv,另一个是数据文件,其中包含有关这些属性的数据,名称为data.csv
在detail.csv文件中,我们有两列“属性”,它给出了属性的名称,“缺失值表示”给出了用作该属性缺失值的值的列表。示例很少下面给出了相同的内容。
Attribute Missing value representation
Height [-1,0]
Weight [X]
Salary []
Gender [XX]
现在,使用此信息,我必须将数据文件“data.csv”中所有相应属性的所有缺失值替换为 NaN。数据文件中的数据表示为:
Height Weight Salary Gender
-1 50 20000 F
132 X XX
我怎样才能做到这一点?
最佳答案
假设您阅读了 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。
关于python - 不同数据帧列中列出的不同缺失值将替换为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824139/