我有一個資料框,其中有一列中有日期。我想根據第一個日期在資料框底部添加 5 個作業日。然后我想減去 5 個作業日并將其放在資料框的頂部,再次基于中心日期。
我不知道該怎么做。任何人都可以幫忙嗎?
這是資料框:
ticker ex_date
0 6762 JP Equity 2021-09-29
和期望的結果:
ticker ex_date
0 6762 JP Equity 2021-09-24
0 6762 JP Equity 2021-09-27
0 6762 JP Equity 2021-09-28
0 6762 JP Equity 2021-09-29
0 6762 JP Equity 2021-09-30
0 6762 JP Equity 2021-10-01
0 6762 JP Equity 2021-10-04
uj5u.com熱心網友回復:
在pandas.bdate_range的幫助下,這是一種方法:
import pandas as pd
df = pd.DataFrame({"ticker": ["6762 JP Equity"], "ex_date": ["2021-09-29"]}).astype(
{"ex_date": "datetime64[ns]"}
)
central = df.loc[0, "ex_date"]
delta = pd.Timedelta(5, unit="day")
df = (
pd.DataFrame(
data=pd.bdate_range(start=central - delta, end=central delta)
.strftime("%Y-%m-%d")
.to_list(),
columns=["ex_date"],
)
.assign(ticker=df.loc[0, "ticker"])
.reindex(columns=["ticker", "ex_date"])
)
print(df)
# Output
ticker ex_date
0 6762 JP Equity 2021-09-24
1 6762 JP Equity 2021-09-27
2 6762 JP Equity 2021-09-28
3 6762 JP Equity 2021-09-29
4 6762 JP Equity 2021-09-30
5 6762 JP Equity 2021-10-01
6 6762 JP Equity 2021-10-04
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/494377.html
上一篇:日期之間的SQL總和
