因此,我有一个包含许多变量的数据框。索引是uid,其他变量都是日期。
我试图在某个值为NaT的情况下创建标志变量,但找不到正确的语句。
我想要这样的东西:
auxData['flagInvited'] = np.where(auxData['invited'] == NaT, 0, 1)
我如何轻松做到这一点?
我认为你需要notnull
为皈依boolean mask
,然后转换为int
-True
是1
和False
是0
:
auxData['flagInvited'] = auxData['invited'].notnull().astype(int)
样本:
auxData = pd.DataFrame({'invited':[np.nan, '2017-01-01','2017-03-03']})
auxData.invited = pd.to_datetime(auxData.invited, dayfirst=True)
print (auxData)
invited
0 NaT
1 2017-01-01
2 2017-03-03
print (auxData['invited'].notnull())
0 False
1 True
2 True
Name: invited, dtype: bool
auxData['flagInvited'] = auxData['invited'].notnull().astype(int)
print (auxData)
invited flagInvited
0 NaT 0
1 2017-01-01 1
2 2017-03-03 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句