我目前正致力于机器学习的安然数据集。但是我仍然需要找到内部字典中特定键的 NaN 值的数量。 这是我的字典样本:
{"Name of person as a key":{"E-Mail":<email of person, if known>, "Salary":<salary off person, if known>}}
严格来说,我想找到工资未知的人数,即 NaN 。我该怎么办?提前致谢
答案 0 :(得分:1)
你可以这样做:
for person in dic:
salary = dic.get(person).get('salary')
if not salary:
print person
你得到薪水为无的所有人。
答案 1 :(得分:1)
假设d
是包含相关值的字典的名称,并且np.nan通过字符串'NaN'表示(它似乎是我对Enron数据集的简要调查):< / p>
count = 0
for person in d:
if d[person].get('Salary') == 'NaN':
count += 1
答案 2 :(得分:0)
你可以这样做: -
count = 0;
for key, value in dict.items():
if(value['Salary'] is None):
count+=1
或者
for value in dict.values():
if(value['Salary'] is None):
count+=1
或单行: -
sum(1 for value in dict.values() if value['Salary'] is None )
或者如果需要在其他条件下做一些额外的事情,你可以这样做: -
sum(1 if value['Salary'] is None else 0 for value in dict.values() )
以上一行在[表达式条件迭代]中解释了它。
一种更好的方式可以让您获得额外的计数能力: - 此表达式返回不可用的工资计数: -
['salary not available' if value['Salary'] is None else ''salary available'' for value in dict.values()].count('salary not available')
此表达式的薪水回报率可用: -
['salary not available' if value['Salary'] is None else 'salary available' for value in dict.values()].count('salary available')
我是Python的新手,我可以简单地说它是学习天然英语口语的好方法。