python - 为什么我不能添加或减去两个日期时间?
问题描述
我在另一列中有一个带有时间和毫秒的df,如下所示:
Time ms
0 14:11:52 0
1 4:11:52 250
1 4:11:52 500
1 4:11:52 750
我想像这样将毫秒添加到时间:
Time
0 14:11:52
1 4:11:52:250
1 4:11:52:500
1 4:11:52:750
我尝试将两者都转换为 datetime[ns] 和 [D] 但出现以下错误:cannot add DatetimeArray and DatetimeArrayt
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S')
df['ms'] = pd.to_datetime(df['ms'], format='%f')
df['Time'] = df['Time'] + df['ms']
我认为通过使用时间增量可以实现我想要的,但是有没有一种更简洁的方法可以将一个日期列与另一个日期列相加?
解决方案
IIUC 2to_timedelta
pd.to_timedelta(df.Time)+pd.to_timedelta(df.ms,unit='ms')
Out[72]:
0 14:11:52
1 04:11:52.250000
1 04:11:52.500000
1 04:11:52.750000
dtype: timedelta64[ns]
df['Time']=pd.to_timedelta(df.Time)+pd.to_timedelta(df.ms,unit='ms')
推荐阅读
- spring-cloud-gateway - Spring Cloud Gateway - 请求体
- java - 在rabbitmq配置spring boot中在AMQP中配置多个Vhost
- mysql - 通过 MySQL Workbench 导入的 MYSQL Big DB 出现错误,导入顺序错误
- javascript - 调用 Javascript 函数时出现 Odoo 错误:无法读取未定义的属性 'then'
- javascript - 是否可以异步定义 mocha 测试?
- ruby - 如何在 CSV 文件中生成列而不是行
- javascript - 在动态加载的 es 模块中使用 React
- javascript - 出生日期 JavaScript 函数停止工作
- ssl - Zend 框架没有路由错误
- amazon-web-services - AWS EKS:启用准入控制器