Python Pandas DataFrame에 중첩 된 JSON 배열

스티븐 라미레즈 아랑 고

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   

미리 감사드립니다.

트 렌튼 맥키 니
  • 이 경우 JSON파일 사용에서로드되고 json.loads있지만,이 경우 JSONAPI를 직접, 그것은 필요하지 않을 수도있다.
  • 매개 변수 pandas.json_normalize와 함께 사용 하여을 DataFrame meta으로 변환합니다 JSON.
import pandas as pd
from pathlib import Path
import json

# path to file
p = Path(r'c:\path_to_file\test.json')

# read json
with p.open('r', encoding='utf-8') as f:
    data = json.loads(f.read())

# create dataframe
df = pd.json_normalize(data, record_path='location', meta=['id', 'name'])

# output
  country       department          city    id        name
 Colombia            Chocó        Quibdó  0001      Stiven
 Colombia        Antioquia      Medellin  0001      Stiven
 Colombia     Cundinamarca        Bogotá  0001      Stiven
 Colombia  Valle del Cauca          Cali  0002  Jhon Jaime
 Colombia         Putumayo         Mocoa  0002  Jhon Jaime
 Colombia           Arauca        Arauca  0002  Jhon Jaime
 Colombia        Atlántico  Barranquilla  0003   Francisco
 Colombia          Bolívar     Cartagena  0003   Francisco
 Colombia       La Guajira      Riohacha  0003   Francisco

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Pandas DataFrame을 중첩 된 JSON 배열로 변환

분류에서Dev

Pandas에서 중첩 된 JSON 병합

분류에서Dev

JSON 중첩 배열을 한 줄로 된 Python 중첩 목록으로 변환

분류에서Dev

깊게 중첩 된 JSON에서 Pandas DataFrame 만들기

분류에서Dev

중첩 된 json 목록에서 Pandas DataFrame 병합

분류에서Dev

Python Pandas를 사용하여 중첩 된 JSON을 포함하는 열 처리

분류에서Dev

배열 내부에 중첩 된 JSON 개체에 액세스

분류에서Dev

JSON에 중첩 된 결과 배열을 반복합니다.

분류에서Dev

C ++에서 중첩 된 JSON 배열 및 행렬 가져 오기

분류에서Dev

중첩 된 JSON 배열을 제자리에 정렬

분류에서Dev

Mongodb : 배열에 중첩 된 json 객체 쿼리

분류에서Dev

중첩 된 json 배열에서 값 가져 오기

분류에서Dev

자바에서 중첩 된 JSON 배열 구문 분석

분류에서Dev

Postgres에서 중첩 된 json [b] 배열 평면화

분류에서Dev

PHP-중첩 된 JSON 배열에 항목 추가

분류에서Dev

Pandas에서 JSON (중첩 배열 포함) 읽기

분류에서Dev

Python의 JSON에서 중첩 된 사전 및 배열에서 특정 값 가져 오기

분류에서Dev

중첩 된 json 배열 객체에 액세스하고 배열 길이 결정

분류에서Dev

DataTable에 중첩 된 Json 문자열

분류에서Dev

고정 된 수의 열이있는 Pandas DataFrame에 중첩 된 목록

분류에서Dev

중첩 된 JSON 배열에 특정 값이 포함 된 행 선택

분류에서Dev

Excel Pandas DataFrame에서 중첩 JSON으로

분류에서Dev

여러 중첩 된 JSON 파일을 Pandas DataFrame으로 읽기

분류에서Dev

Python의 중첩 된 JSON에서 문자열 변수를 키로 사용

분류에서Dev

Python을 사용하여 중첩 된 JSON 데이터를 열에 추가

분류에서Dev

Pandas Groupby 중첩 된 ndarray 배열을 데이터 프레임에 다시 할당

분류에서Dev

중첩 된 foreach PHP에서 중첩 된 배열 제거

분류에서Dev

TableViewController에 중첩 된 배열 표시

분류에서Dev

mysql에 중첩 된 PHP 배열 추가

Related 관련 기사

  1. 1

    Pandas DataFrame을 중첩 된 JSON 배열로 변환

  2. 2

    Pandas에서 중첩 된 JSON 병합

  3. 3

    JSON 중첩 배열을 한 줄로 된 Python 중첩 목록으로 변환

  4. 4

    깊게 중첩 된 JSON에서 Pandas DataFrame 만들기

  5. 5

    중첩 된 json 목록에서 Pandas DataFrame 병합

  6. 6

    Python Pandas를 사용하여 중첩 된 JSON을 포함하는 열 처리

  7. 7

    배열 내부에 중첩 된 JSON 개체에 액세스

  8. 8

    JSON에 중첩 된 결과 배열을 반복합니다.

  9. 9

    C ++에서 중첩 된 JSON 배열 및 행렬 가져 오기

  10. 10

    중첩 된 JSON 배열을 제자리에 정렬

  11. 11

    Mongodb : 배열에 중첩 된 json 객체 쿼리

  12. 12

    중첩 된 json 배열에서 값 가져 오기

  13. 13

    자바에서 중첩 된 JSON 배열 구문 분석

  14. 14

    Postgres에서 중첩 된 json [b] 배열 평면화

  15. 15

    PHP-중첩 된 JSON 배열에 항목 추가

  16. 16

    Pandas에서 JSON (중첩 배열 포함) 읽기

  17. 17

    Python의 JSON에서 중첩 된 사전 및 배열에서 특정 값 가져 오기

  18. 18

    중첩 된 json 배열 객체에 액세스하고 배열 길이 결정

  19. 19

    DataTable에 중첩 된 Json 문자열

  20. 20

    고정 된 수의 열이있는 Pandas DataFrame에 중첩 된 목록

  21. 21

    중첩 된 JSON 배열에 특정 값이 포함 된 행 선택

  22. 22

    Excel Pandas DataFrame에서 중첩 JSON으로

  23. 23

    여러 중첩 된 JSON 파일을 Pandas DataFrame으로 읽기

  24. 24

    Python의 중첩 된 JSON에서 문자열 변수를 키로 사용

  25. 25

    Python을 사용하여 중첩 된 JSON 데이터를 열에 추가

  26. 26

    Pandas Groupby 중첩 된 ndarray 배열을 데이터 프레임에 다시 할당

  27. 27

    중첩 된 foreach PHP에서 중첩 된 배열 제거

  28. 28

    TableViewController에 중첩 된 배열 표시

  29. 29

    mysql에 중첩 된 PHP 배열 추가

뜨겁다태그

보관