始める無料で始める

データをチャンクで読み込むイテレーターの作成(2)

前の演習では、read_csv() を使って大きなデータセットから DataFrame のチャンクを読み込みました。この演習では、より大きなチャンクサイズでファイルを読み込み、最初のチャンクのデータを処理します。

データを処理するには、特定の国の行だけで構成された新しい DataFrame を作成します。次に、その DataFrame の 'Total Population''Urban population (% of total)' という2つの列を zip でまとめます。最後に、zip オブジェクトからタプルのリストを作成します。各タプルは、前述の2つの列それぞれの値で構成されます。

現在のディレクトリにある 'ind_pop_data.csv' のデータを使用します。pandaspd としてインポート済みです。

この演習はコースの一部です

Python Toolbox

コースを見る

演習の手順

  • pd.read_csv() を使って 'ind_pop_data.csv' をチャンクサイズ 1000 で読み込みましょう。結果を urb_pop_reader に代入します。
  • イテラブル urb_pop_reader から最初の DataFrame チャンクを取得し、df_urb_pop に代入しましょう。
  • df_urb_pop の中から 'CountryCode''CEB' である行だけを選択しましょう。そのためには、df_urb_pop['CountryCode'] の角括弧の中で 'CEB'df_urb_pop[____]等しいかどうかを比較します。
  • zip() を使って、'Total Population''Urban population (% of total)' 列と df_pop_ceb 列を zip でまとめましょう。作成された zip オブジェクトを pops に代入します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv(____, ____)

# Get the first DataFrame chunk: df_urb_pop
df_urb_pop = next(____)

# Check out the head of the DataFrame
print(df_urb_pop.head())

# Check out specific country: df_pop_ceb
df_pop_ceb = df_urb_pop[____]

# Zip DataFrame columns of interest: pops
pops = zip(____, ____)

# Turn zip object into list: pops_list
pops_list = list(pops)

# Print pops_list
print(pops_list)
コードを編集して実行