我有一个名为'df'的熊猫系列如下
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
答案 0 :(得分:8)
我这样做:
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
答案 1 :(得分:2)
我想我已经使用
解决了这个问题df['temp_index'] = df.index
df['Delta'] = df['temp_index'].diff().astype('timedelta64[m]')
以分钟而非秒(将m更改为s秒)