>백엔드 개발 >파이썬 튜토리얼 >Pandas의 JSON 데이터 읽기 기술

Pandas의 JSON 데이터 읽기 기술

WBOY
WBOY원래의
2024-01-04 08:15:551874검색

Pandas의 JSON 데이터 읽기 기술

Pandas를 사용하여 JSON 데이터를 읽는 팁

개요:
Pandas는 강력한 데이터 분석 도구이고 JSON은 일반적인 데이터 교환 형식입니다. 데이터 분석 과정에서 JSON 데이터를 읽어야 하는 상황이 자주 발생합니다. 이 기사에서는 Pandas를 사용하여 JSON 데이터를 읽는 몇 가지 기술을 소개하고 구체적인 코드 예제를 제공합니다.

  1. JSON 데이터를 읽으려면 read_json() 함수를 사용하세요.
    Pandas는 JSON 데이터를 읽기 위한 read_json() 함수를 제공합니다. 이 함수는 JSON 데이터를 Pandas DataFrame에 로드합니다. 다음은 read_json() 함수를 사용하여 JSON 데이터를 읽는 샘플 코드입니다.
import pandas as pd

# 读取JSON文件
df = pd.read_json('data.json')

# 打印DataFrame的前几行
print(df.head())

위 코드에서는 read_json() 함수를 사용하여 "data.json"이라는 JSON 파일을 읽고 df에 로드합니다. 변수 . 그런 다음 head() 함수를 사용하여 DataFrame의 처음 몇 행을 인쇄합니다.

  1. 중첩된 JSON 데이터 처리
    때때로 JSON 데이터에는 중첩된 구조가 있습니다. 예를 들어 필드 값은 여러 필드를 포함하는 JSON 개체입니다. 이러한 중첩된 JSON 데이터를 읽을 때 read_json() 함수의 "lines" 매개변수를 json_normalize() 함수와 함께 사용하여 중첩된 데이터를 평면화할 수 있습니다. 예는 다음과 같습니다.
import pandas as pd
from pandas.io.json import json_normalize

# 读取包含嵌套JSON数据的文件
with open('data.json') as f:
    data = json.load(f)
    
# 使用json_normalize()函数展平嵌套的数据
df = pd.json_normalize(data)

# 打印DataFrame的前几行
print(df.head())

위 코드에서는 먼저 open() 함수를 사용하여 중첩된 JSON 데이터가 포함된 파일을 열고 json.load() 함수를 사용하여 데이터를 로드합니다. 그런 다음 json_normalize() 함수를 사용하여 중첩된 데이터를 평면화하고 결과를 df 변수에 저장합니다.

  1. JSON 배열에 중첩된 데이터 읽기
    JSON 데이터 필드의 값이 JSON 배열인 경우가 있습니다. 이 경우 데이터를 읽을 때 JSON 배열을 Pandas Series로 변환하고 destroy() 함수를 사용하여 배열을 확장할 수 있습니다. 예는 다음과 같습니다.
import pandas as pd

# 读取包含嵌套JSON数组的文件
df = pd.read_json('data.json')

# 将JSON数组转换为Series,并使用explode()函数展开
df['array_field'] = df['array_field'].apply(pd.Series).explode('array_field')

# 打印DataFrame的前几行
print(df.head())

위 코드에서는 read_json() 함수를 사용하여 중첩된 JSON 배열이 포함된 파일을 읽고 이를 df 변수에 로드합니다. 그런 다음 JSON 배열은 Pandas 시리즈로 변환되고 폭발() 함수를 사용하여 확장됩니다. 마지막으로 DataFrame의 처음 몇 행을 인쇄합니다.

요약:
이 문서에서는 Pandas를 사용하여 JSON 데이터를 읽는 몇 가지 기술을 소개하고 구체적인 코드 예제를 제공합니다. 이러한 팁을 이해하면 JSON 데이터를 보다 유연하게 사용하고 데이터 분석을 더 빠르고 효율적으로 수행할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 Pandas의 JSON 데이터 읽기 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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