2017-03-22 8 views
3

ごとに2つの日付は、私は毎週の周波数日付時刻を生成する約4日付時刻は、月ごとに生成されることを意味しstart_date=2017-01-01end_date=2017-12-31間の毎週月曜日、するpd.date_range(start_date, end_date, freq='W-MON')を使用しています。つまり、月曜日と土曜日や日曜日以外の日を言うと、1週間に2 datetimesを生成する代わりに、週ごとに2 datetimesを生成する方法はありますか?複数の日付時刻を生成するpandas.date_rangeを()を使用して、週

1)あなたは、おそらく週の別の日に対応毎週周波数を選択して、きれいにインデックスをソートし、それらを追加しているそれらのunionをとることができます。

+0

@NickilMaveliを:私は質問を更新しました。 – DougKruger

+1

別の頻度の値を持つ別の日付セットを生成することができます。以前と同じ方法で「W-TUE」と言い、最初のものに追加します。その後もこれらを並べ替えることができます。 –

+0

@NickilMaveli答えとして投稿してください – smci

答えて

3

は、これを達成するのに-少なくとも2つの方法があります。

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) 
関連する問題