2016-12-07 2 views
1

Pandaのdate_rangeを使用して一連の月間の日付を作成する際に問題が発生しています。 私が使用:毎月の頻度でPandas.date_rangeを使用する際の問題

import pandas as pd 
offset = pd.DateOffset(months=3) 
pd.bdate_range(dt.datetime(2018, 11, 30), periods=4, freq=offset, name='projected_date') 

は、私は次の日付を取得します:

['2018-11-30', '2019-02-28', '2019-05-28', '2019-08-28'] 

しかし、私は次の日付を取得したい:

['2018-11-30', '2019-02-28', '2019-05-30', '2019-08-30'] 

それは2月の日付のネジのようなアップ思えますその後のすべての日付。

これを修正する方法についてのご意見はありますか?

答えて

0

あなたの問題は、あなたが月の時系列のあるタイプの可能性がある月のシリーズの中の特定の日を望むように思われる)。月の特定の日がなぜ必要なのかについての根拠や論理はありますか? たとえば、休日や週末でない限り、月の最終日が必要です。その場合は前日が必要です。

オフセットを手動で指定するのではなく、パンダdatetime moduleの組み込み日付時間を使用する必要があります。この場合、CustomBusinessDaysは、カスタムビジネス月のいくつかのタイプを定義して、ロジックのこのタイプは、多くの場合、金融の将来の支払いを投影するために使用されるよう

customcalendar = ['2012-05-01', datetime(2013, 5, 1), np.datetime64('2014-05-01')] 
newCal= CustomBusinessDay(holidays=customcalendar) 
pd.bdate_range(pd.datetime(2018, 11, 30), periods=4, freq=customcalendar,...) 
+0

というコードのスニペットを書くために使用することができます。 – Kukai

+0

30/360スケジュールで債券を探していますか? – zhqiat

関連する問題