如何在pd.DataFrame.from_dict
理解迭代中忽略缺失的键?
@jezrael友好地回答了我在这里用字典值制作df的问题:
https://stackoverflow.com/a/49072184/9242601
但是我遇到了Key Error: 'fees'
错误,因为并非所有“客户”都有“费用”键,所以我不想生成错误,而是希望迭代转移到下一个客户而不是记录那个客户在df。
我仍然需要一个数据框,因此try... except
和if key in dict
将不起作用,因为我最终会得到一个空的(或不存在的)df。
对于将这个问题有效地传播到两个问题上的道歉,但我认为不值得重复完整的初始问题(因此链接)。
感谢。
答案 0 :(得分:1)
链接没问题 - 它在Stackoverflow中,不会去任何地方。
符合dict.get
方法。通过前导,这几乎是你需要知道的一切:
>>> d = {'present': 'real_value'}
>>> d.get('present')
'real_value'
>>> d.get('absent') is None
True
>>> d.get('absent', 'default')
'default'
你应该找到修改后的理解
{k: dict(v['fees']) for k, v in d.items() if v.get('fees') is not None}
满足您的需求,但这是未经测试的代码。
答案 1 :(得分:0)
有几种不同的方法可以解决这个问题。
一种方法是使用try
except
语句来捕获错误。
另一种方法是测试密钥是否在dict key in dict
中。
另一种方法是使用dict的get方法dict.get(key, default = None)
,如果找不到该值,则默认选项将返回None,或者您可以将其设置为您需要的值。