我在将特定字典转换为 pandas 数据框时遇到了困难

I got stuck converting a especific dictionary to a pandas dataframe

我有一本字典,但在尝试转换为 pandas 数据帧时卡住了。

这是对 IBM ML 模型进行评分的结果。结果以这种格式出现,我想将此字典转换为 pandas 数据框,以便稍后与已评分的原始数据框合并。

词典:

{'predictions': [{'fields': ['prediction', 'probability'], 'values': [['Creditworthy', [0.5522992460276774, 0.4477007539723226]]]}]}

image of the code which generated this dictionary

我想要这样的 pandas 数据框:

  index  predictions  prediction  probability
      0 Creditworthy    0.552299     0.447701

假设源字典在名为 dct.

的值中

从读取列名开始:

cols = dct['predictions'][0]['fields']

然后以可以从此字典中读取的形式创建 DataFrame:

df = pd.DataFrame(dct['predictions'][0]['values'],
    columns=['predictions', 'val'])

目前,值在 val 列中,作为列表:

    predictions                                       val
0  Creditworthy  [0.5522992460276774, 0.4477007539723226]

然后把val列打成单独的列,同时设置 正确的列名(之前阅读):

df[cols] = pd.DataFrame(df.val.values.tolist())

唯一要做的就是删除 val 列:

df.drop(columns=['val'], inplace=True)

结果是:

    predictions  prediction  probability
0  Creditworthy    0.552299     0.447701

本应如此。