我在Pandas中有一个数据帧,其中一列"timeOff“有一些NaT值。
我所要做的就是将所有的NaT值更改为timeDelta值,并使用'00:00:00‘作为值。
这是我当前的输出:
我试着运行这行代码:
replaceNaT = pd.to_timedelta('00:00:00')
print(replaceNaT)
startEndEventsDataframe['timeOff'] = np.where(pd.isnull(startEndEventsDataframe['timeOff']) == True, replaceNaT, startEndEventsDataframe['timeOff'])
但这会销毁我的dataframe列中的所有值,如下所示:
我希望所有不是NaT的值都保持不变,我希望所有NaT的值都是带有值"00:00:00“的timeDelta。
谢谢你的帮助。
发布于 2019-02-22 04:28:46
所以,事实证明,我是自己想出来的,但我想我会把解决方案发布给未来可能需要知道的任何人。
我去掉了"replaceNaT“,在找到NaT的地方简单地写了"0”。我猜timeDeltas是根据它们测量的最低时间分辨率以整数的形式存储的,并且只有在它们显示时才会被转换成看起来像它们一样的样子?
无论如何,以下是对我有效的代码更改:
startEndEventsDataframe['timeOff'] = np.where(pd.isnull(startEndEventsDataframe['timeOff']) == True, 0, startEndEventsDataframe['timeOff'])
https://stackoverflow.com/questions/54815507
复制相似问题