Pythonで日付に基づいてデータを抽出する

日付でデータを抽出するには、Pythonのdatetimeモジュールを使用して日付と時間を処理できます。以下に、日付でデータを抽出する方法を示すいくつかのサンプルコードを示します。

まず、datetime モジュールをインポートする必要があります:

from datetime import datetime

日付とデータをタプルにしたリストがあり、それぞれの要素が次のようになります。

data = [
    ('2022-01-01', 10),
    ('2022-01-02', 15),
    ('2022-01-03', 20),
    ('2022-01-04', 25),
    # ...
]

日付でデータを抽出したい場合は、datetimeモジュールのstrptime関数を用いて日付文字列をdatetimeオブジェクトに変換できます。その後、dateメソッドを使って日付部分を抽出し、目的の日付と比較する事ができます。下記のコードでは、ある特定の日付のデータがどのように抽出されるかを示しています。

target_date = datetime.strptime('2022-01-02', '%Y-%m-%d').date()

for date_str, value in data:
    date = datetime.strptime(date_str, '%Y-%m-%d').date()
    if date == target_date:
        print(value)

ターゲット日時(‘2022-01-02’)と一致するデータ値(15)を出力します。

特定の日付範囲のデータを抽出したいときは、dateオブジェクトの比較演算子が使用できます。たとえば、2022年1月1日から2022年1月3日までのデータを抽出する場合は、次のようにコードを記述します:

start_date = datetime.strptime('2022-01-01', '%Y-%m-%d').date()
end_date = datetime.strptime('2022-01-03', '%Y-%m-%d').date()

for date_str, value in data:
    date = datetime.strptime(date_str, '%Y-%m-%d').date()
    if start_date <= date <= end_date:
        print(value)

2022 年 1 月 1 日~2022 年 1 月 3 日までのデータ値(10, 15, 20)が出力されます。

それがあなたのお役に立てれば幸いです!

bannerAds