NaT的熊猫条件声明

安东尼奥·门德斯

因此,我有一个包含许多变量的数据框。索引是uid,其他变量都是日期。

我试图在某个值为NaT的情况下创建标志变量,但找不到正确的语句。

我想要这样的东西:

auxData['flagInvited'] = np.where(auxData['invited'] == NaT, 0, 1)

我如何轻松做到这一点?

耶斯列尔

我认为你需要notnull为皈依boolean mask,然后转换为int-True1False0

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章