.diff(period=-10) 是否适用于 pandas 系列?

问题描述 投票:0回答:1

我有一个像这样的数据框:

import pandas as pd
import numpy as np

date_rng = pd.date_range(start="2023-11-18", periods=3, freq="10S")
values = [4, 2, 3]
df = pd.DataFrame(data={"values": values}, index=date_rng)
df["dt"] = df.index.to_series().diff().dt.seconds
df["dt"] = df.index.to_series().diff(periods=2).dt.seconds
df["dt_neg"] = df.index.to_series().diff(periods=-1).dt.seconds
print(df)

给予

                     values    dt   dt_neg
2023-11-18 00:00:00       4   NaN  86390.0
2023-11-18 00:00:10       2   NaN  86390.0
2023-11-18 00:00:20       3  20.0      NaN

负值不也应该起作用吗?

我阅读了答案这里这里

python pandas dataframe series
1个回答
0
投票

您需要使用

total_seconds
:

df["dt_neg"] = df.index.to_series().diff(periods=-1).dt.total_seconds()
© www.soinside.com 2019 - 2024. All rights reserved.