将整数转换为日期时间值panda



我有一列包含日期时间和整数值。。然而,我甚至想把整数值也转换成datetikme。

StartTime             EndTime               Source 
2170-01-01 00:00:00   2170-01-01 00:00:00   NA
1.60405e+18           1.60405e+18           Arm_dearm

我试过使用

pd.to_datetime(site_list['StartTime'](

但它产生了相同的结果。

最终,我无法运行以下行。

np.where(site_list["StartTime"].dt.date!=site_list["EndTime"].dt.date,"armed next day",site_list["Source"])

它抛出以下错误:

传递数组中的混合日期时间和整数

错误指出的问题是列中存在混合类型,因此它不会转换它。我假设它是一个UNIX时间戳。检查这个答案,看看这是否就是你正在处理的时间格式。

我们可以通过做这样的事情来解决这个问题:

import datetime
def convert(time):
return datetime.datetime.fromtimestamp(time)
site_list["StartTime"] = site_list["StartTime"].apply(lambda x: convert(x) if isinstance(x, int) else x)

这将检查StartTime列中的每个值,然后检查它是否为整数。如果是,则它将把它转换为datetime类型。如果不是整数,它将不使用它。

最新更新