首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Pandas dataframe中的所有NaT值更改为Timedelta 00:00:00

将Pandas dataframe中的所有NaT值更改为Timedelta 00:00:00
EN

Stack Overflow用户
提问于 2019-02-22 04:14:24
回答 1查看 243关注 0票数 1

我在Pandas中有一个数据帧,其中一列"timeOff“有一些NaT值。

我所要做的就是将所有的NaT值更改为timeDelta值,并使用'00:00:00‘作为值。

这是我当前的输出:

Output with NaT values

我试着运行这行代码:

代码语言:javascript
复制
replaceNaT = pd.to_timedelta('00:00:00')
print(replaceNaT)

startEndEventsDataframe['timeOff'] = np.where(pd.isnull(startEndEventsDataframe['timeOff']) == True, replaceNaT, startEndEventsDataframe['timeOff'])

但这会销毁我的dataframe列中的所有值,如下所示:

After running code from above

我希望所有不是NaT的值都保持不变,我希望所有NaT的值都是带有值"00:00:00“的timeDelta。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-02-22 04:28:46

所以,事实证明,我是自己想出来的,但我想我会把解决方案发布给未来可能需要知道的任何人。

我去掉了"replaceNaT“,在找到NaT的地方简单地写了"0”。我猜timeDeltas是根据它们测量的最低时间分辨率以整数的形式存储的,并且只有在它们显示时才会被转换成看起来像它们一样的样子?

无论如何,以下是对我有效的代码更改:

代码语言:javascript
复制
startEndEventsDataframe['timeOff'] = np.where(pd.isnull(startEndEventsDataframe['timeOff']) == True, 0, startEndEventsDataframe['timeOff'])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54815507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档