df = pd.DataFrame({
"A": [1, 2, 3, 4, 5],
"B": [10, 20, 30, 40, 50]
})
df.shift(periods=1)
df.shift(1)
df.shift(periods=1, fill_value=0)
df.shift(periods=1, axis=1)
df = pd.DataFrame({
"A": [1, 2, 3, 4, 5],
"B": [10, 20, 30, 40, 50]
},
index=pd.date_range("2020-01-01", freq="D", periods=5)
)
df.shift(freq='10D')
# эквивиалент:
df.shift(periods=10, freq="D")
df = pd.DataFrame({
"date": pd.date_range("2020-01-01", freq="D", periods=5),
"sales": [22, 30, 32, 25, 42]
})
df["diff"] = df["sales"] - df.shift(1)["sales"]
value_1 = Day_8 - Day_1
value_2 = Day_9 - Day_2
value_3 = Day_10 - Day_3
...
value_n = Day_N - Day_N-7
df = pd.read_csv(
"https://raw.githubusercontent.com/obulygin/content/main/pandas_shift/time_series.csv",
parse_dates=["date"],
index_col=["date"],
)
the_7_days_diff = df["sales"] - df.shift(freq="7D")["sales"]
Источник: Towards Data Science