PandasにおけるDataFrameを時間でフィルタリングしてみます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■DataFrameを作成する
PandasにおけるDataFrameで特定の行の値を取得する前に、DataFrameを作成します。
■コード
import pandas as pd data = { 'Name':['Yellow','Black','White','Purple','Pink'], 'Time':['1998-01-21','1999-12-04','2010-07-23','2021-01-15','2007-05-25'] } df = pd.DataFrame(data) print(df)
インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に、今回は「Name」、「Time」という2つの行を追加し格納します。「Time」という列には、「yyyy-mm-dd」という日付/時間フォーマットで時間を記述しています。
■実行
このスクリプトを実行すると、作成したDataFrameが出力されます。
■DataFrameを時間でフィルタリングする
DataFrameの用意ができましたので、時間でフィルタリングするスクリプトを書いていきます。
■コード
import pandas as pd data = { 'Name':['Yellow','Black','White','Purple','Pink'], 'Time':['1998-01-21','1999-12-04','2010-07-23','2021-01-15','2007-05-25'] } df = pd.DataFrame(data) time_df = df.loc[df["Time"] >= "2009-01-01"] print(time_df)
時間でフィルタリングする際は、dfという変数を作成し、格納したdataを元にDataFrameを作成。その後、time_dfという変数を作成し、loc()を使用し、DataFrameで要素を抽出します。今回はdataの内の「Time」という列を指定しています。
指定後、「Time」という列内の「2009-01-01」という日付、以上(>=)のものを論理演算子で抽出します。
抽出後、time_dfという変数に格納します。
格納後、print関数で抽出したものを出力します。
■実行
このスクリプトを「df_time_filtering_2.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回用意したDataFrame内の要素(時間)が抽出され、フィルタリングされたものが出力できることを確認できました。
コメント