データフレームdfaの日付を表示する列Dateに対して、条件に合致する日があった場合は1とし、該当しなければ0とする新たな列sbを作りたいのですが、日付を認識しないのかすべて0になってしまいます。
○加工前のデータ(下記コード2行目 dfa.head()の結果)
Store Dept Date Weekly_Sales IsHoliday
0 1 1 2010-02-05 24924.50 False
1 1 1 2010-02-12 46039.49 True
2 1 1 2010-02-19 41595.55 False
3 1 1 2010-02-26 19403.54 False
4 1 1 2010-03-05 21827.90 False
○作ったコード
dfa=pd.read_csv('train.csv')
dfa.head()
dfa['Date']=pd.to_datetime(dfa['Date'])
s1=datetime.strptime('2010-2-12','%Y-%m-%d')
s2=datetime.strptime('2011-2-11','%Y-%m-%d')
s3=datetime.strptime('2012-2-10','%Y-%m-%d')
s1=datetime.strptime('2010-2-12','%Y-%m-%d')
dfa['SuperBowl']=np.where(dfa['Date']==s1,1,0)
dfa['SuperBowl']=np.where(dfa['Date']==s2,1,0)
dfa['SuperBowl']=np.where(dfa['Date']==s3,1,0)
dfa.head()
○上記コード実行後
Store Dept Date Weekly_Sales IsHoliday SuperBowl
0 1 1 2010-02-05 24924.50 False 0
1 1 1 2010-02-12 46039.49 True 0
2 1 1 2010-02-19 41595.55 False 0
3 1 1 2010-02-26 19403.54 False 0
4 1 1 2010-03-05 21827.90 False 0
どのようにすれば日付を条件文で認識してくれるのでしょうか
回答4件
あなたの回答
tips
プレビュー