時系列のスライス
時系列では、日付範囲内のデータをフィルタリングすることがよくあるため、スライスが特に便利です。date 列をインデックスに設定し、.loc[] を使ってサブセット化を行います。ここで重要なのは、日付をISO 8601形式にしておくことです。つまり、年-月-日には "yyyy-mm-dd"、年-月には "yyyy-mm"、年のみには "yyyy" を使います。
第1章で見たように、& などの論理演算子を使うと、複数の真偽値条件を組み合わせることができます。これを1行のコードで行うには、各条件を括弧 () で囲む必要があります。
pandas は pd として読み込まれており、インデックスが設定されていない temperatures がすでに用意されています。
この演習はコースの一部です
pandas によるデータ操作
演習の手順
.isin()や.loc[]ではなくBoolean条件を使い、完全な日付形式"yyyy-mm-dd"を指定して、date列が2010年から2011年までの範囲にある行にtemperaturesをサブセット化し、結果を出力しましょう。temperaturesのインデックスをdate列に設定し、並べ替えましょう。.loc[]を使って、2010年から2011年までの範囲の行にtemperatures_indをサブセット化しましょう。.loc[]を使って、August 2010 から February 2011 までの行にtemperatures_indをサブセット化しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Use Boolean conditions to subset temperatures for rows in 2010 and 2011
temperatures_bool = ____[(____ >= ____) & (____ <= ____)]
print(temperatures_bool)
# Set date as the index and sort the index
temperatures_ind = temperatures.____.____
# Use .loc[] to subset temperatures_ind for rows in 2010 and 2011
print(____)
# Use .loc[] to subset temperatures_ind for rows from Aug 2010 to Feb 2011
print(____)