我有 20K 对象和列表中提供的一组功能。我需要从每个对象中提取这些特征并将它们保存到字典中。每个对象都有近 100 个特征。
例如:
# object1
Object1.Age = '20'
Object1.Gender = 'Female'
Object1.DOB = '03/05/1997'
Object1.Weight = '130lb'
Object1.Height = '5.5'
#object2
Object1.Age = '22'
Object1.Gender = 'Male'
Object1.DOB = '03/05/1995'
Object1.Weight = '145lb'
Object1.Height = '5.8'
#object3
Object1.Age = '22'
Object1.Gender = 'Male'
Object1.DOB = '03/05/1995'
Object1.Weight = '145lb'
#object4
...
以及我需要从每个对象中提取的特征列表(此列表可能会更改,因此我需要代码灵活处理):
features = ['Gender',
'DOB',
'Height']
目前,我正在使用此函数来捕获每个对象所需的所有功能:
def get_features(obj, features):
return {f: getattr(obj, f) for f in features}
如果所有对象都具有我想要的所有功能,则此功能可以完美运行。但是有些对象并不具备所有功能。例如 object3 没有名为“Height”的文件。如何将 NaN 用作字典中缺失文件的值,以防止出现错误?