始める無料で始める

大量のTwitterデータを処理する

処理するデータがコンピューターのメモリに収まりきらないほど大きくなることがあります。これはデータサイエンティストがよく直面する課題です。解決策の一つは、データソース全体を一度に処理するのではなく、チャンク(小さなまとまり)に分けて順番に処理することです。

この演習では、まさにその方法を実践します。前のコースの'tweets.csv'Bringing it all together[(https://campus.datacamp.com/courses/python-data-science-toolbox-part-1/writing-your-own-functions?ex=12) 演習で ] を処理したのと同じように、大きなTwitterデータのCSVファイルを処理します。ただし今回は、10件ずつのチャンクに分けて処理します。

Twitterデータを自分のシステムで取得・操作する方法に興味がある方は、DataCampの「Importing Data in Python」コースの パート 2 を参照してください。

pandasパッケージは pd としてインポート済みで、'tweets.csv' ファイルは現在のディレクトリに用意されています。

このデータはTwitterの実際のデータです。そのため、不適切な表現や攻撃的なコンテンツが含まれる可能性があることをあらかじめご了承ください(この演習および実際のTwitterデータを使用する以降の演習においても同様です)。

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

Python Toolbox

コースを見る

演習の手順

  • Twitterデータの処理結果を格納するための空の辞書 counts_dict を初期化してください。
  • 'tweets.csv' ループを使って for ファイルをイテレートします。ループ変数 chunk を使い、pd.read_csv() を10に設定した chunksize の呼び出しをイテレートしてください。
  • 内側のループでは、'lang' ループを使って chunkfor 列をイテレートします。ループ変数には entry を使ってください。

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

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

# Initialize an empty dictionary: counts_dict


# Iterate over the file chunk by chunk
for ____ in ____:

    # Iterate over the column in DataFrame
    for ____ in ____:
        if entry in counts_dict.keys():
            counts_dict[entry] += 1
        else:
            counts_dict[entry] = 1

# Print the populated dictionary
print(counts_dict)
コードを編集して実行