私はpd.date_range(start_date, end_date, freq='W-MON')
毎週月曜日のstart_date=2017-01-01
との間の毎週の頻度日時を生成するために使用してend_date=2017-12-31
います。つまり、月に約4つの日時が生成されます。代わりに、月に8つの日時を生成する方法、つまり、週に2つの日時を生成するが、週の異なる曜日、たとえば月曜日と土曜日または日曜日以外の日を生成する方法はありますか?
これを達成するには、少なくとも2つの方法があります。
1)おそらく、別の曜日に対応する週ごとの頻度を選択し、union
それらを取得して、インデックスを適切に並べ替えて追加することができます。
start_date = "2017-01-01"
end_date = "2017-12-31"
d1 = pd.date_range(start_date, end_date, freq="W-MON")
d2 = pd.date_range(start_date, end_date, freq="W-TUE")
d1.union(d2)
2)より簡単な方法は、余分なに対応するオフセットを作成することDay
です。同じunion
操作が続きます。
from pandas.tseries.offsets import Day
d1.union(d1 + Day(1))
どちらのアプローチでも、次のことができます。
DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-09', '2017-01-10',
'2017-01-16', '2017-01-17', '2017-01-23', '2017-01-24',
'2017-01-30', '2017-01-31',
...
'2017-11-27', '2017-11-28', '2017-12-04', '2017-12-05',
'2017-12-11', '2017-12-12', '2017-12-18', '2017-12-19',
'2017-12-25', '2017-12-26'],
dtype='datetime64[ns]', length=104, freq=None)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加