代码之家  ›  专栏  ›  技术社区  ›  user2896120

用Pandas中的数组值创建JSON键

  •  3
  • user2896120  · 技术社区  · 6 年前

    我有一个数据框被操纵了几次。最终结果是一个如下所示的数据帧:

        Company volume
    1   NV      14
    2   GD      8
    3   AB      6
    

    我将此数据帧转换为json格式,如下所示:

    formattedDF.to_json(orient='columns')
    

    '{"company":{"1":"NV","2":"GD","3":"AB"},"volume":{"1":14,"2":8,"3":6}}'
    

    这非常接近我想要的,但我要找的格式是:

    '{"company": ["NV", "GD","AB"], "volume":[14, 8, 6}]'
    

    其中键以数组格式给出值。我怎样才能做到这一点?

    2 回复  |  直到 6 年前
        1
  •  5
  •   U13-Forward    6 年前

    或:

    print(df.to_dict(orient='list'))
    

    {'Company': ['NV', 'GD', 'AB'], 'volume': [14, 8, 6]}
    
        2
  •  2
  •   user3483203    6 年前

    使用字典理解:

    {k: df[k].tolist() for k in df}
    

    或使用 apply(list) :

    df.T.apply(list, 1).to_dict()
    

    两种产品:

    {'Company': ['NV', 'GD', 'AB'], 'volume': [14, 8, 6]}