python 如何在列中使用字典中的键和值

uplii1fm  于 2023-08-02  发布在  Python
关注(0)|答案(1)|浏览(123)

我有以下数据框架:

print(df.head())

Line                        values
Line1                       {'ValueType1': 1}
Line2                       {'ValueType2': 3}
Line3                       {'ValueType3': 5, 'ValueType4': 6}

字符串
我想在最后有以下dataframe:

Line                        Valuetype          value
Line1                       ValueType1         1
Line2                       ValueType2         3
Line3                       ValueType3         5
Line3                       ValueType4         6


我如何才能做到这一点?

mnemlml8

mnemlml81#

1.使用json_normalize将字典转换为列

  1. join添加到原始DataFrame和drop不必要的列
  2. melt要从宽到长取消旋转的 Dataframe
  3. dropnareset_index以获得输出
>>> (df.join(pd.json_normalize(df["values"]))
       .drop("values", axis=1)
       .melt(id_vars="Line")
       .dropna()
       .reset_index(drop=True)
       )

    Line   Valuetype  value
0  Line1  ValueType1    1.0
1  Line2  ValueType2    3.0
2  Line3  ValueType3    5.0
3  Line3  ValueType4    6.0

字符串

相关问题