Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas – 日付オフセットに基づいて時系列データの最終期間を選択する方法

日付オフセットで時系列の最終期間を取得する

日付オフセットに基づいて時系列データの最終期間(末尾の行)を選択するには、Pandas の last() メソッドを使用します。まず、periods(生成する要素数)と freq(頻度)を指定して日付インデックスを作成します。freq='3D' は「3日間隔」を意味します。

i = pd.date_range('2021-07-15', periods=5, freq='3D')

次に、この日付インデックスを使って DataFrame を作成します。

dataFrame = pd.DataFrame({'k': [1, 2, 3, 4, 5]}, index=i)

末尾から直近4日間('4D')に含まれる行を取得するには、last() メソッドに '4D' を渡します。

dataFrame.last('4D')

サンプルコード

以下が完全なコード例です。

import pandas as pd

# 5つの期間・3日間隔で日付インデックスを作成
i = pd.date_range('2021-07-15', periods=5, freq='3D')

# 上記のインデックスを持つDataFrameを作成
dataFrame = pd.DataFrame({'k': [1, 2, 3, 4, 5]}, index=i)
print("DataFrame...\n", dataFrame)

# 末尾の数行を取得
# 直近4日間の行を抽出
print("Last few rows fetched..\n", dataFrame.last('4D'));

出力結果

このコードを実行すると、次のような出力が得られます。

DataFrame...
             k
2021-07-15   1
2021-07-18   2
2021-07-21   3
2021-07-24   4
2021-07-27   5
Last few rows fetched..
             k
2021-07-24   4
2021-07-27   5

last('4D') を呼び出すと、インデックスの最終日(2021-07-27)から遡って4日以内に該当する行、つまり 2021-07-24 と 2021-07-27 の2行のみが返されます。このように last() メソッドを使えば、指定した期間オフセットに応じた時系列データの末尾部分を簡単に抽出できます。なお、先頭側の期間を取得したい場合は first() メソッドを同じ要領で使用できます。

  1. Python Pandas入門 – データフレームから条件に合う行のサブセットを抽出する方法

    Pandasのデータフレームから行のサブセット(一部の行)を取得するには、条件式を使ってデータを絞り込みます。この手法は「ブールインデックス参照」と呼ばれ、データ分析で最もよく使われる操作のひとつです。 使用するCSVファイル ここでは、Microsoft Excelで開いた次のようなCSVファイル(SalesData.csv)を例にします。車種名(Car)、登録価格(Reg_Price)、販売台数(Units)の3つの列を持つデータです。 CSVファイルをデータフレームとして読み込む まず、read_csv()メソッドを使って、CSVファイルのデータをPandasのデータフレームに読み込み

  2. Python PandasでDataFrameの複数のデータ列をプロットする方法

    PythonのPandasライブラリを使えば、DataFrameに含まれる複数のデータ列を簡単に可視化できます。本記事では、plot()メソッドを使用し、kindパラメータをbarに設定することで、複数の列を1つの棒グラフとして描画する方法を解説します。必要なライブラリのインポートまず、PandasとMatplotlibという2つの必須ライブラリをインポートします。Pandasはデータ操作を、Matplotlibはグラフの表示を担当します。import pandas as pd import matplotlib.pyplot as mpサンプルデータの準備ここでは、各チームのランキングポイン