pandas:如何将嵌套 JSON 解包为数据帧?

2024-05-07

我有这样的 JSON 输出

json.json

{"SeriousDlqin2yrs": {"prediction": "0", "prediction_probs": {"0": 0.95, "1": 0.04}}}
{"SeriousDlqin2yrs": {"prediction": "0", "prediction_probs": {"0": 0.96, "1": 0.03}}}

我想将其作为 pandas 数据框读取,如下所示

prediction, prediction_probs.0, prediction_probs.1
0, 0.95, 0.04
0, 0.96, 0.03

但我似乎找不到正确的方法

I tried

predictions = pd.read_json("json.json", lines=True)
predictions.apply(lambda x: pd.DataFrame(x[0]), axis=1)

在熊猫中测试1.1.1- 将值转换为lists 并传递给json_normalize http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.io.json.json_normalize.html:

s = pd.read_json('json.json', lines=True)['SeriousDlqin2yrs'].tolist()

df = pd.json_normalize(s)
print (df)
  prediction  prediction_probs.0  prediction_probs.1
0          0                0.95                0.04
1          0                0.96                0.03

另一个想法是将 json 解析为列表pd.read_json:

import json

s = []
with open('json.json') as f:
    for line in f:
        s.append(json.loads(line)['SeriousDlqin2yrs'])
        
df = pd.json_normalize(s)
print (df)
  prediction  prediction_probs.0  prediction_probs.1
0          0                0.95                0.04
1          0                0.96                0.03
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas:如何将嵌套 JSON 解包为数据帧? 的相关文章

随机推荐