20,000 個のオブジェクトと一連の機能がリストで提供されています。これらの特徴を各オブジェクトから抽出し、辞書に保存する必要があります。各オブジェクトには、ほぼ 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 を入れるにはどうすればよいですか?