Pythonを用いてデータ加工を行う際にはpandasライブラリを使用する機会が多いですよね。
このpandasを使い慣れていないと上手く処理できないことがあり、例えば特定の期間を指定して抽出したいケースもありますが、どのように処理すればいいのか理解していますか。
ここでは、このPython(Pandas)にて特定の期間(日付)を指定しての抽出を行う方法について解説していきます。
Pandasにて期間(日付)を指定し抽出する方法【特定の期間】
それでは、Python(Pandas)にて指定した期間の抽出を行う方法について確認していきます。
まずは以下のような時間の列を含むexcelファイルを読み込むとします。
このexcelファイルを読み込み、pandasにて指定した期間(日付)の取得を行うには、以下のようなサンプルコードを記載していくといいです。
import os
os.chdir(“C:\\sample”)
import pandas as pd
df= pd.read_excel(‘jikansa.xlsx’,encoding=”SHIFT JIS”, index_col=0,parse_dates=True)
dfa = df[“2020-05-27″:”2020-05-30”]
dfa
出力結果は以下の通りとなり、指定した期間をデータのみを抽出できました。
上述のサンプルコードの意味について具体的に解説していきます。
import os
os.chdir(“C:\\sample”)
こちらにてexcelファイルが置いてある場所にカレントディレクトリを移動させます(ここではCフォルダ直下のsampleフォルダに移動)。
import pandas as pd
df= pd.read_excel(‘jikansa.xlsx’,encoding=”SHIFT JIS”, index_col=0,parse_dates=True)
こちらにてpythonのpandasライブラリをインポートし、jikansaという名前のエクセルファイルの読み込みをします。この際、A列(0番目のカラム)に相当する時間の列をインデックス列として、さらに「parse_dates=True」で時系列データとして扱っていきます。
dfa = df[“2020-05-27″:”2020-05-30”]
dfa
こちらにて抽出する期間(日付)を指定し、dataframeに表示させています。
ある日付の1日のデータも抽出できる【pandasでの期間の指定】
なお、上のように日付での指定を「同じ日」にするとその日付の1日のデータを取得することが可能です。
以下のサンプルファイルを元に特定の日付のデータを得るとします。
サンプルコードは以下の通りです。
os.chdir(“C:\\sample”)
import pandas as pd
df= pd.read_excel(‘jikansa2.xlsx’,encoding=”SHIFT JIS”, index_col=0,parse_dates=True)
dfa = df[“2020-05-25″:”2020-05-25”]
dfa
期間指定の際に、同日とするだけが変化点です。Pythonでの出力結果は以下の通りとなります。
日付だけでなく時間(時刻)を含めて期間も抽出できる【pandas】
なお、pnadasでは日付のみでなく「ある日のある時刻」を含めた期間の指定も実行することができます。
具体的には上述の日付指定の際に、時刻も入れるだけでいいです。
これで以下のよう、時刻まで指定された期間の取得ができました。
まとめ pythonにて特定の期間の抽出を行う方法【日付の指定】
ここで、pythonのpandasライブラリにて日付(期間)の指定を行い抽出する方法について解説しました。
いずれにせよ上述の通り、直接期間を入力することが重要です。
pandasでの各種操作に慣れ、業務をより効率化させていきましょう。
コメント