嵌套的JSON数组转换为Python Pandas DataFrame

22 浏览
0 Comments

嵌套的JSON数组转换为Python Pandas DataFrame

我正在尝试在pandas数据框中展开嵌套的JSON数组。

这是我拥有的JSON数据:

[ {

"id": "0001",

"name": "Stiven",

"location": [{

"country": "Colombia",

"department": "Chocó",

"city": "Quibdó"

}, {

"country": "Colombia",

"department": "Antioquia",

"city": "Medellin"

}, {

"country": "Colombia",

"department": "Cundinamarca",

"city": "Bogotá"

}

]

}, {

"id": "0002",

"name": "Jhon Jaime",

"location": [{

"country": "Colombia",

"department": "Valle del Cauca",

"city": "Cali"

}, {

"country": "Colombia",

"department": "Putumayo",

"city": "Mocoa"

}, {

"country": "Colombia",

"department": "Arauca",

"city": "Arauca"

}

]

}, {

"id": "0003",

"name": "Francisco",

"location": [{

"country": "Colombia",

"department": "Atlántico",

"city": "Barranquilla"

}, {

"country": "Colombia",

"department": "Bolívar",

"city": "Cartagena"

}, {

"country": "Colombia",

"department": "La Guajira",

"city": "Riohacha"

}

]

}

]

这是我拥有的数据框:

index   id    name         location
0       0001  Stiven       [{'country':'Colombia', 'department': 'Chocó', 'city': 'Quibdó'}, {'country':'Colombia', 'department': 'Antioquia', 'city': 'Medellin'}, {'country':'Colombia', 'department': 'Cundinamarca', 'city': 'Bogotá'}]
1       0002  Jhon Jaime   [{'country':'Colombia', 'department': 'Valle del Cauca', 'city': 'Cali'}, {'country':'Colombia', 'department': 'Putumayo', 'city': 'Mocoa'}, {'country':'Colombia', 'department': 'Arauca', 'city': 'Arauca'}]
2       0003  Francisco    [{'country':'Colombia', 'department': 'Atlántico', 'city': 'Barranquilla'}, {'country':'Colombia', 'department': 'Bolívar', 'city': 'Cartagena'}, {'country':'Colombia', 'department': 'La Guajira', 'city': 'Riohacha'}] 

我需要按id将其转换为以下数据框的形式:

index   id    name         country   department       city
0       0001  Stiven       Colombia  Chocó            Quibdó
1       0001  Stiven       Colombia  Antioquia        Medellin
2       0001  Stiven       Colombia  Cundinamarca     Bogotá
3       0002  Jhon Jaime   Colombia  Valle del Cauca  Cali
4       0002  Jhon Jaime   Colombia  Putumayo         Mocoa
5       0002  Jhon Jaime   Colombia  Arauca           Arauca
6       0003  Francisco    Colombia  Atlántico        Barranquilla
7       0003  Francisco    Colombia  Bolívar          Cartagena 
8       0003  Francisco    Colombia  La Guajira       Riohacha   

0