gpt4 book ai didi

pandas - 计算 DateTimeIndex 的时间差

转载 作者:行者123 更新时间:2023-12-04 00:54:09 40 4
gpt4 key购买 nike

我想计算 DateTimeIndex 中时间之间的时间差

import pandas as pd
p = pd.DatetimeIndex(['1985-11-14', '1985-11-28', '1985-12-14', '1985-12-28'], dtype='datetime64[ns]')

我可以计算两次的时间差:
p[1] - p[0]


Timedelta('14 days 00:00:00')

但是 p[1:] - p[:-1] 不起作用并给出
DatetimeIndex(['1985-12-28'], dtype='datetime64[ns]', freq=None)

和 future 的警告:
FutureWarning: using '-' to provide set differences with datetimelike Indexes is deprecated, use .difference()

关于如何(轻松)计算 DateTimeIndex 中值之间的时间差的任何想法?为什么它适用于 1 值,但不适用于整个 DateTimeIndex?

最佳答案

转换 DatetimeIndexSeries使用 to_series() 然后调用 diff 计算行间差异:

In [5]:
p.to_series().diff()

Out[5]:
1985-11-14 NaT
1985-11-28 14 days
1985-12-14 16 days
1985-12-28 14 days
dtype: timedelta64[ns]

至于为什么失败, -此处的运算符(operator)正试图执行不同索引范围的一组差异或交集,您正试图从一个范围中减去 diff 的另一个范围的值做。

当你做 p[1] - p[0] -正在执行标量减法,但是当您在索引上执行此操作时,它认为您正在执行集合操作

关于pandas - 计算 DateTimeIndex 的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583859/

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