我有一列包含日期时间和整数值。。然而,我甚至想把整数值也转换成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
类型。如果不是整数,它将不使用它。