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)が出力されます。
それがあなたのお役に立てれば幸いです!