python - 如何防止日期时间减法中的第二轮?
问题描述
我正在尝试计算两个重叠的时间戳列之间的减法:
begin end Duration
2019-10-21 07:48:26.740378 2019-10-21 07:48:28.272688 1.532
2019-10-21 07:48:26.923764 2019-10-21 07:48:28.449916 1.526
我设法处理了时间重叠以获得正确的结果,但我遇到了格式问题。当我使用这些时,我得到了这个结果:
df['duration'] = df['duration'].where(~c2, (df['end'] - df['end'].shift()).dt.seconds)
我不明白为什么熊猫将结果四舍五入为零dt.second
Duration
1.532
0.000
但我想:
1.532
0.177
谢谢你的时间 !
解决方案
您应该使用total_seconds()
(就像datetime
直接使用对象时一样):
df['duration'] = df['duration'].where(~c2, (df['end'] - df['end'].shift()).dt.total_seconds())
begin end duration
0 2019-10-21 07:48:26.740378 2019-10-21 07:48:28.272688 NaN
1 2019-10-21 07:48:26.923764 2019-10-21 07:48:28.449916 0.177228
推荐阅读
- windows - 我将 pkg-config 设置为路径和堆栈仍然给我文件未找到错误。窗户 10
- c# - 如何从 JSON 文本中解析特定部分以制作英雄联盟中的英雄列表
- python - 通过在python中将数据结构写入XML文件的TypeError
- ios - 在pickerview的文本字段中显示数组总数
- c - 为什么我必须为编译器提供仅用于某些库的 *.lib 文件?
- php - 在laravel中添加照片so facebook php sdk post
- c++ - const 指向成员的指针是否默认指向 int?
- java - 无法在游戏开发项目的 JavaFx 中使用 Button 在 3 个不同的背景之间切换
- algorithm - 使用图表建模家庭关系
- ionic-framework - 在 Ionic 4 中查看项目详细信息时遇到问题