【发布时间】:2014-10-20 03:06:49
【问题描述】:
我有一个有趣的问题,我想知道是否有一种简洁、pythonic(pandastic?)的方法来做到这一点,而不是遍历数据框的行。
获取一个数据帧,其中一个字段是信息的 json 编码:
Name Data
0 Joe '[{"label":"a","value":"1"},{"label":"b","value":"2"}]'
1 Sue '[{"label":"a","value":"3"},{"label":"c","value":"4"}]'
2 Bob '[{"label":"b","value":"4"},{"label":"d","value":"1"}]'
我想将json字段扩展为数据字段,合并不同的列标题,得到这个:
Name Data a b c d
0 Joe '[{"label":"a"... 1 2
1 Sue '[{"label":"a"... 3 4
2 Bob '[{"label":"b"... 4 1
空格是缺失值。我知道我可以使用 read_json 从 json 字段创建数据帧,但是我想将这些数据帧重新展平为原始数据集的额外列。
那么,有没有一种优雅的方法可以在不遍历数据框的各个行的情况下做到这一点?任何帮助将不胜感激。
【问题讨论】:
-
字符串
'{{a:1},{b:2}}'不是有效的 JSON。这真的是你所拥有的,还是可以用json.loads解码实际值? -
谢谢,我又快又马虎了。我已经重做了这个问题,以获得与问题相对应的正确 json。