>백엔드 개발 >파이썬 튜토리얼 >중첩된 JSON 데이터를 Pandas DataFrame으로 가져오고 처리하는 방법은 무엇입니까?

중첩된 JSON 데이터를 Pandas DataFrame으로 가져오고 처리하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 11:40:02918검색

How to Import and Process Nested JSON Data into Pandas DataFrames?

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

중첩된 개체가 포함된 JSON 데이터로 작업할 때 이를 더 많은 형식으로 변환해야 할 수 있습니다. 분석이나 조작을 위한 구조화된 형식입니다. Pandas는 이러한 데이터를 효율적으로 처리하는 데 유용한 도구를 제공합니다.

시나리오:

다음 구조의 JSON 파일을 고려해보세요.

<code class="json">{
    "number": "",
    "date": "01.10.2016",
    "name": "R 3932",
    "locations": [
        { ... },
        { ... },
        { ... }
    ]
}</code>

json_normalize 사용:

json_normalize 함수를 사용하면 중첩된 JSON을 DataFrame으로 평면화할 수 있습니다. 지정된 JSON에 대해 다음을 수행할 수 있습니다.

<code class="python">import pandas as pd

with open('myJson.json') as data_file:    
    data = json.load(data_file)  

df = pd.json_normalize(data, 'locations', ['date', 'number', 'name'], 
                    record_prefix='locations_')
print (df)</code>

이렇게 하면 다음 열이 있는 DataFrame이 생성됩니다.

중첩 데이터 유지를 위한 확장:

중첩 배열을 그대로 유지하려면 read_json을 구문 분석 매개변수와 함께 사용할 수 있습니다. 이렇게 하면 JSON을 위치 열이 포함된 DataFrame으로 사전 목록으로 구문 분석합니다.

<code class="python">df = pd.read_json("myJson.json", orient='records', parsing = True)</code>

또는 생성자 매개변수를 사용하여 위치 열을 구문 분석할 수도 있습니다.

<code class="python">df = pd.read_json("myJson.json", orient='records',
                  constructor=lambda x: pd.DataFrame(x['locations']))</code>

중첩 값 연결:

위치 열의 값을 단일 문자열로 결합하려면 groupby 및 적용 함수를 사용할 수 있습니다.

<code class="python">df = df.groupby(['date', 'name', 'number'])['locations'].apply(','.join).reset_index()</code>

위 내용은 중첩된 JSON 데이터를 Pandas DataFrame으로 가져오고 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.