데이터프레임 이어 붙이기
이 연습에서는 Yelp 기준으로 New York City에서 평점이 가장 높은 카페 100곳의 데이터셋을 만들며 레코드를 이어 붙이는 방법을 연습해요.
API는 종종 반환되는 데이터 양에 제한을 둡니다. 큰 데이터셋을 보내는 데 시간과 자원이 많이 들기 때문이에요. Yelp Business Search API는 한 번의 호출에서 최대 50개의 레코드만 반환합니다. 하지만 offset 매개변수를 사용하면 지정한 개수 이후부터 결과를 가져올 수 있어요. offset을 바꿔서 한 번의 호출로 1~50, 또 다른 호출로 51~100을 가져온 다음, 두 데이터프레임을 이어 붙일 수 있습니다.
pandas(별칭 pd), requests, 그리고 json_normalize()는 이미 가져와 두었습니다. 상위 50개 카페 데이터는 데이터프레임 top_50_cafes에 준비되어 있어요.
이 연습은 강의의 일부입니다
pandas로 빠르고 간편한 데이터 적재
연습 안내
- Yelp API 호출이 51~100번 카페를 가져오도록
params에"offset"매개변수를 추가하세요. - API 호출 결과를
top_50_cafes에 이어 붙이고, 행 번호가 다시 매겨지도록ignore_index를 설정하세요. - 결과 데이터프레임
cafes의 shape을 출력해 레코드가 100개인지 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Add an offset parameter to get cafes 51-100
params = {"term": "cafe",
"location": "NYC",
"sort_by": "rating",
"limit": 50,
____}
result = requests.get(api_url, headers=headers, params=params)
next_50_cafes = json_normalize(result.json()["businesses"])
# Concatenate the results, setting ignore_index to renumber rows
cafes = ____
# Print shape of cafes
____