중첩된 JSON 평탄화하기
JSON 데이터의 한 가지 특징은 중첩될 수 있다는 점이에요. 즉, 어떤 속성의 값이 다시 속성-값 쌍으로 이루어질 수 있어요. 이런 중첩 데이터는 각 내용을 풀어서(평탄화하여) 별도의 데이터프레임 열로 만드는 것이 더 유용합니다. 이를 위해 pandas.io.json 하위 모듈에는 json_normalize() 함수가 있어요.
Yelp API의 응답 데이터는 중첩되어 있습니다. 이번 과제에서는 coordinates와 location 열의 다음 단계 데이터를 평탄화해 보세요.
pandas(별칭 pd)와 requests는 이미 임포트되어 있고, API 호출 결과는 response에 저장되어 있어요.
이 연습은 강의의 일부입니다
pandas로 빠르고 간편한 데이터 적재
연습 안내
pandas의io.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())