我有一个CSV文件,可以作为我的计算的输入。该文件包含一个表,该表在我的脚本中作为数据帧读取。两列是日期时间对象。当我将文件读取到数据帧时,我会将这些值从默认字符串类型转换为datatime,并使用带有UTC参数的to_datetime函数。代码如下:
import pandas as pd
df_in = pd.read_csv('./Out/in.csv', index_col = 0, usecols = [0, 1, 2, 3, 4], header = 0)
df_in.iloc[:,2:4] = df_in.iloc[:,2:4].apply(pd.to_datetime, utc = True)
print(df_in)
在以下输入CSV上像超级按钮一样工作:
,Rig ID,Rig Name,Start Time,End Time
60,5,D004,2020-05-08 02:45:14.664341,2020-05-10 08:12:29.719839
70,5,D004,2020-05-14 07:59:09.280761,2020-05-15 02:11:52.358921
CSV文件减少到1行的那一刻,例如:
,Rig ID,Rig Name,Start Time,End Time
60,5,D004,2020-05-08 02:45:14.664341,2020-05-10 08:12:29.719839
我遇到错误
TypeError: data type not understood.
据我了解,这与单行数据帧上的切片分配有关
df_in.iloc[:,2:4] =
但是我正在努力寻找其原因和“智能”解决方法。
感谢您的帮助!
答案 0 :(得分:0)
我发现,在较早版本的熊猫中,当数据字段中存在日期字段(特别是datetime64变体)时,可能会发生这种情况。
因此,代替iloc
试试这个...
df_in[['Start Time','End Time']] = df_in[['Start Time','End Time']].apply(pd.to_datetime, utc = True)