重组Pandas馆

egdjgwm8  于 2023-11-15  发布在  其他
关注(0)|答案(1)|浏览(94)

我有一个panda框架,里面有一个标题为vehicule的专栏,里面有一些json

vehicules
[{'immatriculation': AAAAAA, 'type': 'car}]
[{'immatriculation': 'BBBBBB, 'type': 'truck}, {'immatriculation': 'CCCCCC’, 'type': 'car'}]
[{'immatriculation': DDDDDD, 'type': 'car}]

字符串
我想把这个圆柱分成两列

immatriculation     type
AAAAAA              car
BBBBBB              truck
CCCCCC              car
DDDDDD              car


在python / pandas中最简单的方法是什么?

zengzsys

zengzsys1#

如果vehicules包含格式良好的列表,则可以使用explodejson_normalize

>>> pd.json_normalize(df['vehicules'].explode())

  immatriculation   type
0          AAAAAA    car
1          BBBBBB  truck
2          CCCCCC    car
3          DDDDDD    car

字符串
最小工作示例:

import pandas as pd

data = {'vehicules': [[{'immatriculation': 'AAAAAA', 'type': 'car'}],
                      [{'immatriculation': 'BBBBBB', 'type': 'truck'},
                       {'immatriculation': 'CCCCCC', 'type': 'car'}],
                      [{'immatriculation': 'DDDDDD', 'type': 'car'}]]}
df = pd.DataFrame(data)
print(df)

# Output
                                           vehicules
0     [{'immatriculation': 'AAAAAA', 'type': 'car'}]
1  [{'immatriculation': 'BBBBBB', 'type': 'truck'...
2     [{'immatriculation': 'DDDDDD', 'type': 'car'}]

注意:您输入的数据既不是有效的json数据,也不是有效的python结构。

相关问题