すべてを組み合わせよう (1)
これまでの演習で、独自の関数を書く最初の一歩を踏み出しました。関数定義にパラメータを追加する方法、タプルで単一または複数の値を返す方法、定義した関数を呼び出す方法を学びました。
この演習と次の演習では、これらの概念をすべて組み合わせて、シンプルなデータサイエンスの課題に適用します。データセットを読み込み、データから簡単な知見を取り出す機能を実装します。
この演習では、データセットを DataFrame に読み込む方法を思い出すことが目標です。データセットには Twitter のデータが含まれており、ある列の各要素を順に処理して、キーを言語名、値をその言語のツイート数とする辞書を作成します。ファイル tweets.csv は現在のディレクトリにあります。
これは実際の Twitter データであるため、不適切な表現や不快に感じる内容が含まれる可能性があります(この演習および実際の Twitter データを使用する以降の演習でも同様です)。
この演習はコースの一部です
Pythonの関数入門
演習の手順
- pandas パッケージをエイリアス
pdでインポートします。 - pandas の関数
read_csv()を使ってファイル'tweets.csv'を読み込みます。結果の DataFrame をdfに代入します。 - DataFrame
dfの列'lang'を表すcolを反復処理するように、forループを完成させます。 - ループ内の
if-else文の本体を完成させます。すなわち、キーが辞書langs_countに存在する場合は、そのキーに対応する値に1を加え、存在しない場合はそのキーをlangs_countに追加して対応する値を1に設定します。コード内ではループ変数entryを使用してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import pandas
# Import Twitter data as DataFrame: df
df = ____
# Initialize an empty dictionary: langs_count
langs_count = {}
# Extract column from DataFrame: col
col = df['lang']
# Iterate over lang column in DataFrame
for entry in ____:
# If the language is in langs_count, add 1
if entry in langs_count.keys():
____
# Else add the language to langs_count, set the value to 1
else:
____
# Print the populated dictionary
print(langs_count)