Python:Pandas 系列 - 连续日期时间行之间的差异(以秒为单位)
Python: Pandas Series - Difference between consecutive datetime rows in seconds
我有一个名为 'df' 的 pandas 系列,如下所示
value
date_time_index
2015-10-28 01:54:00 1.0
2015-10-28 01:55:00 1.0
2015-10-28 01:56:00 1.0
2015-10-28 01:57:00 1.0
2015-10-28 01:58:00 1.0
我只想要一个新列,连续行之间的差异为 秒,我该怎么做?
注:类型为
type(df.index[1])
给定为
pandas.tslib.Timestamp
我想我已经用
解决了
df['temp_index'] = df.index
df['Delta'] = df['temp_index'].diff().astype('timedelta64[m]')
以分钟而不是秒为单位(将 m 更改为 s 表示秒)
我会这样做:
df.index.to_series().diff().dt.total_seconds().fillna(0)
date_time_index
2015-10-28 01:54:00 0.0
2015-10-28 01:55:00 60.0
2015-10-28 01:56:00 60.0
2015-10-28 01:57:00 60.0
2015-10-28 01:58:00 60.0
Name: date_time_index, dtype: float64
我有一个名为 'df' 的 pandas 系列,如下所示
value
date_time_index
2015-10-28 01:54:00 1.0
2015-10-28 01:55:00 1.0
2015-10-28 01:56:00 1.0
2015-10-28 01:57:00 1.0
2015-10-28 01:58:00 1.0
我只想要一个新列,连续行之间的差异为 秒,我该怎么做?
注:类型为
type(df.index[1])
给定为
pandas.tslib.Timestamp
我想我已经用
解决了df['temp_index'] = df.index
df['Delta'] = df['temp_index'].diff().astype('timedelta64[m]')
以分钟而不是秒为单位(将 m 更改为 s 表示秒)
我会这样做:
df.index.to_series().diff().dt.total_seconds().fillna(0)
date_time_index
2015-10-28 01:54:00 0.0
2015-10-28 01:55:00 60.0
2015-10-28 01:56:00 60.0
2015-10-28 01:57:00 60.0
2015-10-28 01:58:00 60.0
Name: date_time_index, dtype: float64