为了账号安全,请及时绑定邮箱和手机立即绑定

在一行数据框中将字符串转换为日期时间

在一行数据框中将字符串转换为日期时间

元芳怎么了 2023-01-04 16:02:26
我有一个 CSV 文件作为我计算的输入。该文件包含一个表,该表在我的脚本中被读取为数据框。两列是日期时间对象。当我将文件读取到数据帧时,我将这些值从默认字符串类型转换为数据时间,应用带有 UTC 参数的 to_datetime 函数。代码如下:import pandas as pddf_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 Time60,5,D004,2020-05-08 02:45:14.664341,2020-05-10 08:12:29.71983970,5,D004,2020-05-14 07:59:09.280761,2020-05-15 02:11:52.358921CSV 文件减少到 1 行的那一刻,例如:,Rig ID,Rig Name,Start Time,End Time60,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] =但我正在努力寻找其原因和“智能”解决方法。
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

我发现,对于旧版本的熊猫,当数据框中存在日期字段(特别是 datetime64 变体)时,可能会发生这种情况。所以,与其iloc尝试这个……

df_in[['Start Time','End Time']] = df_in[['Start Time','End Time']].apply(pd.to_datetime, utc = True)


查看完整回答
反对 回复 2023-01-04
  • 1 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号