Pandasで開始日、終了日などを指定して1時間毎の日時リスト、毎月の日付リストなどが作成できます。
コード
開始日から終了日までの月初日時のリストを出力する場合
import pandas as pd
import datetime as dt
start_date = dt.datetime(2022, 12, 10) #開始日を指定
end_date = dt.datetime(2023, 11, 15) #終了日を指定
dt_list = pd.date_range(start = start_date, end= end_date , freq='MS') #freq MS:月初
print(dt_list)
#DatetimeIndex(['2023-01-01', '2023-02-01', '2023-03-01', '2023-04-01',
# '2023-05-01', '2023-06-01', '2023-07-01', '2023-08-01',
# '2023-09-01', '2023-10-01', '2023-11-01'],
# dtype='datetime64[ns]', freq='MS')
補足
dt_list = pd.date_range(start = start_date, end= end_date , freq='MS') #freq MS:月初
「pd.date_range(start = DateTime1, end= DateTime2, freq=**)」でDateTime1からDateTime2までの期間で指定の周期の日時リストを出力してくれます。
周期は各種パラメータを設定することで変更できます。
“M”だと月末になりますので”MS”となるのが要注意です。
freq | 内容 |
---|---|
B | 営業日頻度 |
C | カスタム営業日頻度 |
D | 暦日の頻度 |
W | 毎週の頻度 |
M | 月末頻度 |
SM | 準月末頻度(15日と月末) |
BM | 月末度数 |
CBM | カスタム営業月末頻度 |
MS | 月初めの頻度 |
SMS | 半月開始頻度(1日と15日) |
BMS | 営業月初頻度 |
CBMS | カスタムの営業月開始頻度 |
Q | 四半期末頻度 |
BQ | 四半期終了頻度 |
QS | 四半期開始頻度 |
BQS | 事業四半期の開始頻度 |
A,Y | 年末度数 |
BA,BY | 年末度数 |
AS、YS | 年の開始頻度 |
BAS、BYS | 事業年度開始頻度 |
BH | 営業時間頻度 |
H | 毎時の頻度 |
T、min | 分刻みの頻度 |
S | 第二に頻度 |
L、ミリ秒 | ミリ秒 |
U、us | マイクロ秒 |
N | ナノ秒 |