pandas.date_range(startdate, periods=n, freq=f)
関数を使用すると、pandas Timestamp
オブジェクトの範囲を作成できます。ここで、freq
オプションパラメーターは頻度(秒、分、時間、日...)の範囲内。
documentation は、渡されると予想されるリテラルについて言及していませんが、数分後にそれらのほとんどを簡単に見つけることができます。
ただし、「y」、「Y」、「yr」などのいずれも、年を頻度として日付を作成しません。誰が何を渡すべきかを知っていますか?
頻度は、年末の頻度の場合は_freq='A'
_、年の初めの場合は_'AS'
_です。 ドキュメントのエイリアス を確認してください。
例えば。 pd.date_range(start=pd.datetime(2000, 1, 1), periods=4, freq='A')
戻り値
DatetimeIndex(['2000-12-31', '2001-12-31', '2002-12-31', '2003-12-31'], dtype='datetime64[ns]', freq='A-DEC', tz=None)
特定の時間から毎年使用する必要がある場合は、 アンカーオフセット を使用します。 pd.date_range(start=pd.datetime(2000, 1, 1), periods=10, freq='AS-AUG')
戻り値
DatetimeIndex(['2000-08-01', '2001-08-01', '2002-08-01', '2003-08-01'], dtype='datetime64[ns]', freq='AS-AUG', tz=None)
任意の日付からインデックスを作成するには、その日付でシリーズを開始し、カスタム DateOffset
オブジェクトを使用します。
例えば。 pd.date_range(start=pd.datetime(2000, 9, 10), periods=4, freq=pd.DateOffset(years=1))
戻り値
DatetimeIndex(['2000-09-10', '2001-09-10', '2002-09-10', '2003-09-10'], dtype='datetime64[ns]', freq='<DateOffset: kwds={'years': 1}>', tz=None)
これらすべてのハックには、明確な方法があります。
pd.date_range(start=datetime.datetime.now(),periods=5,freq='A')
A
:毎年。
365D
?本当に? うるう年 についてはどうですか?
月を使用して、12か月ごとに選択できます。
months=pandas.date_range(start=datetime.datetime.now(),periods=120,freq='M')
year=[months[11*i] for i in range(12)]
次のこともできます。
usingDays=pandas.date_range(start=datetime.datetime.now(),periods=10,freq='365D')
しかし、うるう年ではあまりうまくいきません。
周波数文字列に倍数を使用できます。例えば:
pd.date_range('01/01/2010 '、periods = 10、freq =' 365D ')
このコードは、2010年1月1日、2011年1月1日などのシリーズを提供します。もちろん、ここでの問題は、うるう年に問題が発生することです。