【问题标题】:python pandas dataFrame create single json column of multiple columns valuepython pandas dataFrame创建多列值的单个json列
【发布时间】:2017-11-08 20:49:46
【问题描述】:

在 python pandas dataFrame 中,我想创建多列值的单个 json 列。

假设以下数据帧:
示例:

| -   | col1 | col2 | col3 | col4|
| 1   | abc  | def  | ghi  |  8  |
| 2   | xab  | xcd  | xef  |  9  |

这是我想要的结果。

|     |col1 | json_col|br
|1    | abc |   {"col2":"def","col3":"ghi","col4":8}|
|2    | xab |   {"col2":"xcd","col3":"xef","col4":9}|

如何创建选定列的单列(json 类型)?

【问题讨论】:

    标签: python json pandas


    【解决方案1】:

    您可以将applyto_json 一起使用,最后删除drop 的列:

    cols = ['col2','col3','col4']
    df['json_col'] = df[cols].apply(lambda x: x.to_json(), axis=1)
    df = df.drop(cols, axis=1)
    print (df)
       - col1                              json_col
    0  1  abc  {"col2":"def","col3":"ghi","col4":8}
    1  2  xab  {"col2":"xcd","col3":"xef","col4":9}
    

    【讨论】:

    • 嗨@jezrael,当我只想转换 1 列时,此方法失败。我收到此错误:AttributeError: 'float' object has no attribute 'to_json' 请您考虑一下这种情况并告诉我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2022-11-27
    • 1970-01-01
    • 2016-03-26
    相关资源
    最近更新 更多