Python 获得;属性错误:';浮动';对象没有属性';项目'&引用;使用pandas.io.json.json_规范化

Python 获得;属性错误:';浮动';对象没有属性';项目'&引用;使用pandas.io.json.json_规范化,python,json,pandas,Python,Json,Pandas,当尝试使用json\u normalize函数对pandas数据帧中的序列进行规范化时,我收到错误: "AttributeError: 'float' object has no attribute 'items'" 该系列的每一行都包含一个嵌套的json,尽管有些行不包含该系列中某些json中存在的所有属性 还有一个字段“timestamp”:{“$date”:1578411194000}在那些嵌套的json中,它也出现在同一数据帧的另一列中,这给了我在另一次尝试展平其

当尝试使用
json\u normalize
函数对pandas数据帧中的序列进行规范化时,我收到错误:

"AttributeError: 'float' object has no attribute 'items'" 
该系列的每一行都包含一个嵌套的json,尽管有些行不包含该系列中某些json中存在的所有属性

还有一个字段
“timestamp”:{“$date”:1578411194000}
在那些嵌套的json中,它也出现在同一数据帧的另一列中,这给了我在另一次尝试展平其他序列时的一个错误

我假设
AttributeError
与不是所有包含所有字段的json有关,或者与那些
时间戳有关。json_normalize
对其他一些df列有效


我希望这是足够的信息。提前多谢

如果存在可以使用
dropna()
解决的NaN字段,则可能发生这种情况:


如果存在可以使用
dropna()
解决的NaN字段,则可能会发生这种情况:


错误是因为您可能在某个级别上循环,然后值不是另一个dict,而是一个float。您可以通过检查诸如
hasattr(7.0,'items')
之类的内容来处理这些不同的情况,除了使用变量not
7.0
之外,我通过使用json.loads而不是pd.read\u json加载数据来解决错误,之后json\u normalize工作得很好。至于条件语句,我使用了类似normalized_data=json_normalize([x代表x在df['column']if('key'在x中)])的语句,而不是hasattr()。请回答您自己的问题。否则,如果有人搜索没有答案的问题,就会发现这篇文章。错误是因为你可能在某个级别上循环,然后值不是另一个dict,而是一个float。您可以通过检查诸如
hasattr(7.0,'items')
之类的内容来处理这些不同的情况,除了使用变量not
7.0
之外,我通过使用json.loads而不是pd.read\u json加载数据来解决错误,之后json\u normalize工作得很好。至于条件语句,我使用了类似normalized_data=json_normalize([x代表x在df['column']if('key'在x中)])的语句,而不是hasattr()。请回答您自己的问题。否则,如果有人搜索没有答案的问题,就会找到这篇文章。
pd.json_normalize(df.explode("field")["field"]))
=> AttributeError: 'float' object has no attribute 'items'

pd.json_normalize(df.explode("field")["field"].dropna())
=> no error