시작하기무료로 시작하기

중첩된 JSON 평탄화하기

JSON 데이터의 한 가지 특징은 중첩될 수 있다는 점이에요. 즉, 어떤 속성의 값이 다시 속성-값 쌍으로 이루어질 수 있어요. 이런 중첩 데이터는 각 내용을 풀어서(평탄화하여) 별도의 데이터프레임 열로 만드는 것이 더 유용합니다. 이를 위해 pandas.io.json 하위 모듈에는 json_normalize() 함수가 있어요.

Yelp API의 응답 데이터는 중첩되어 있습니다. 이번 과제에서는 coordinateslocation 열의 다음 단계 데이터를 평탄화해 보세요.

pandas(별칭 pd)와 requests는 이미 임포트되어 있고, API 호출 결과는 response에 저장되어 있어요.

이 연습은 강의의 일부입니다

pandas로 빠르고 간편한 데이터 적재

강의 보기

연습 안내

  • pandasio.json 하위 모듈에서 json_normalize() 함수를 로드하세요.
  • response에서 JSON 데이터를 추출해 data에 할당하세요.
  • json_normalize()를 사용해 businesses 데이터를 평탄화하여 데이터프레임 cafes로 로드하세요. sep 인자는 마침표 대신 밑줄(_)을 사용하도록 설정하세요.
  • data의 head를 표시하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Load json_normalize()
____

# Isolate the JSON data from the API response
data = ____

# Flatten business data into a dataframe, replace separator
cafes = ____(data["businesses"],
             ____)

# View data
print(cafes.head())
코드 편집 및 실행