始める無料で始める

データフレームを連結する

この演習では、Yelpの評価に基づくニューヨーク市のカフェ上位100件のデータセットを作成しながら、レコードの連結を練習します。

APIは、大きなデータセットの送信に時間やリソースがかかるため、返すデータ量を制限することがよくあります。Yelp Business Search APIは、1回の呼び出しで返す結果を50件に制限しています。ただし、offsetパラメータを使うと、指定した件数以降から結果を取得できます。オフセットを変えることで、1回目の呼び出しで1〜50件、2回目で51〜100件を取得できます。最後に、これらのデータフレームを連結します。

pandaspdとして)、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
____
コードを編集して実行