我想计算DateTimeIndex中时间之间的时差
import pandas as pd
p = pd.DatetimeIndex(['1985-11-14', '1985-11-28', '1985-12-14', '1985-12-28'], dtype='datetime64[ns]')
Run Code Online (Sandbox Code Playgroud)
我可以计算两次的时差:
p[1] - p[0]
Run Code Online (Sandbox Code Playgroud)
给
Timedelta('14 days 00:00:00')
Run Code Online (Sandbox Code Playgroud)
但是p [1:] - p [: - 1]不起作用并给出
DatetimeIndex(['1985-12-28'], dtype='datetime64[ns]', freq=None)
Run Code Online (Sandbox Code Playgroud)
和未来的警告:
FutureWarning: using '-' to provide set differences with datetimelike Indexes is deprecated, use .difference()
Run Code Online (Sandbox Code Playgroud)
有关如何(轻松)计算DateTimeIndex中值之间的时差的任何想法?为什么它适用于1个值,但不适用于整个DateTimeIndex?
EdC*_*ica 15
转换DatetimeIndex
为Series
使用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]
Run Code Online (Sandbox Code Playgroud)
至于它失败的原因,-
这里的算子试图执行你的不同索引范围的设定差异或交集,你试图从一个范围中减去另一个范围的值diff
.
当你做p[1]
- p[0]
将-
被进行标量减法但是当你做这个指数它认为你是执行一组操作
归档时间: |
|
查看次数: |
5163 次 |
最近记录: |