Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从mongo将JSON加载到Python数据框架中时,应该如何处理NaN?_Json_Python 3.x_Pandas - Fatal编程技术网

当从mongo将JSON加载到Python数据框架中时,应该如何处理NaN?

当从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

当我尝试将json“展平”到一个数据帧中时,我遇到了一个错误,我相信这是因为一些单元格中有NaN。处理这个问题的最佳方法是什么

我得到的错误是“AttributeError:“float”对象没有属性“keys”


由于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 [])] )