当从mongo将JSON加载到Python数据框架中时,应该如何处理NaN?
当我尝试将json“展平”到一个数据帧中时,我遇到了一个错误,我相信这是因为一些单元格中有NaN。处理这个问题的最佳方法是什么 我得到的错误是“AttributeError:“float”对象没有属性“keys”当从mongo将JSON加载到Python数据框架中时,应该如何处理NaN?,json,python-3.x,pandas,Json,Python 3.x,Pandas,当我尝试将json“展平”到一个数据帧中时,我遇到了一个错误,我相信这是因为一些单元格中有NaN。处理这个问题的最佳方法是什么 我得到的错误是“AttributeError:“float”对象没有属性“keys” 由于MongoDB是无模式的,因此响应中有时会出现空值。您可以迭代这些值并检查该值是否为None cptylists = pd.DataFrame(list(cptylist.find())) creditRating = [] for rating in cptylists['cre
由于MongoDB是无模式的,因此响应中有时会出现空值。您可以迭代这些值并检查该值是否为None
cptylists = pd.DataFrame(list(cptylist.find()))
creditRating = []
for rating in cptylists['creditRating']:
if rating['creditRating'] is not None:
creditRating.append(rating['creditRating'])
else:
creditRating.append('No value in database')
creditRating = pd.DataFrame(creditRating)
该列表的理解版本类似于:
if 'creditRating' in cptylists:
creditRating = pd.DataFrame([k for k in (cptylists['creditRating'] or [])] )
多谢了,德瑞克,我现在遇到了一个类型错误,还没能解决它,你有什么想法吗?TypeError:列表索引必须是整数或切片,而不是strMy。我猜您的MongoDB查询结果中不存在特定的键。若要查找是否返回了特定密钥,您可以使用cptylists中的“creditRating:
if 'creditRating' in cptylists:
creditRating = pd.DataFrame([k for k in (cptylists['creditRating'] or [])] )