gpt4 book ai didi

python - 在 Pandas 中签名时间增量到签名秒数

转载 作者:太空狗 更新时间:2023-10-30 02:58:07 24 4
gpt4 key购买 nike

考虑以下系列:

> df['time_delta']

0 -1 days +00:08:11
1 0 days 01:57:46
2 0 days 00:58:34
3 0 days 17:30:23
4 -1 days +21:44:34
5 -2 days +22:01:56
6 0 days 03:18:57
7 -1 days +21:44:48
8 -1 days +00:07:56
Name: time_delta, dtype: timedelta64[ns]

假设我想将此 timedelta 转换为total signed 秒。即:

  • 增量应转换为
  • 增量应转换为

例如:

  • 0 天 00:01:05 => 65
  • -1 天 +23:58:30 => -90

我怎样才能获得这种转化?


尝试失败

当我尝试通常的方式时:

temp_df['seconds'] = temp_df['time_delta'].dt.seconds

我最终得到:

         time_delta  seconds
0 -1 days +00:08:11 491
1 0 days 01:57:46 7066
2 0 days 00:58:34 3514
3 0 days 17:30:23 63023
4 -1 days +21:44:34 78274
5 -2 days +22:01:56 79316
6 0 days 03:18:57 11937
7 -1 days +21:44:48 78288
8 -1 days +00:07:56 476

正确处理了增量,但不是负增量。要看到这一点,请注意负增量似乎忽略了日期偏移的符号。也就是说,在上面的例子中:

  • -1 days +21:44:48 应该转换为 -8112 秒,而不是 78288 秒(错误的符号和值)。

最佳答案

如果它是 Timedelta对象,只需将它除以 Timedelta(seconds=1):

>>> pd.Timedelta(days=-1) / pd.Timedelta(seconds=1)
-86400.0

关于python - 在 Pandas 中签名时间增量到签名秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com