시작하기무료로 시작하기

데이터프레임 이어 붙이기

이 연습에서는 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
____
코드 편집 및 실행