date_time={'Date_Fields':[datetime.date(2014,5,1),datetime.date(2015,5,1),datetime.date(2016,5,1),datetime.date(2018,5,1)]}
date_time=pd.DataFrame(date_time)
date_time["Analysis Period"]=""
ちょっと戻って、36ヶ月の期間を3つの間隔に分割する「分析期間」というAmeneded列を作成する必要があります。たとえば、2014年5月〜2015年4月、2015年5月〜2016年4月、2016年5月〜2017年4月などです。これは私たちのローカルツールで使用されます。日付/時刻をピリオドに分割する文の場合
私はこのコードを以下のコードで達成することができましたが、手動で日付範囲を更新することなくこれを行うより効果的な方法があるかどうかを知りたかったのです。 また、以下のifステートメントに関して、もともと私は、対応する2つのelifステートメントでifステートメントを実行しようとしていました。しかし、それはうまくいかないようです。誰かがなぜその理由を説明できるのでしょうか?
はでif ((date_time["Date_Fields"]>= datetime.date(2014,5,1)) & (date_time["Date_Fields"]<=datetime.date(2015,4,30))) is not False:
date_time["Analysis Period"]=np.where(((date_time["Date_Fields"]>= datetime.date(2014,5,1)) & (date_time["Date_Fields"]<=datetime.date(2015,4,30))),'May 2014 to April 2015', date_time["Analysis Period"])
if ((date_time["Date_Fields"]>= datetime.date(2015,5,1)) & (date_time["Date_Fields"]<=datetime.date(2016,4,30))) is not False:
date_time["Analysis Period"]=np.where(((date_time["Date_Fields"]>= datetime.date(2015,5,1)) & (date_time["Date_Fields"]<=datetime.date(2016,4,30))),'May 2015 to April 2016', date_time["Analysis Period"])
if ((date_time["Date_Fields"]>= datetime.date(2016,5,1)) & (date_time["Date_Fields"]<=datetime.date(2017,4,30))) is not False:
date_time["Analysis Period"]=np.where(((date_time["Date_Fields"]>= datetime.date(2016,5,1)) & (date_time["Date_Fields"]<=datetime.date(2017,4,30))),'May 2016 to April 2017',date_time["Analysis Period"])
'pd.cut()'が必要です。 – DyZ
ありがとう、それに読んでください。 – Bjc51192