簡體   English   中英

使用 Python 移動時間段和計算增量

[英]Shifting Time Periods and Calculating Delta using Python

我有一個文件 df,我希望每 7 天取一次增量

df:

Date          Value
10/15/2020    75
10/14/2020    70
10/13/2020    65
10/12/2020    60
10/11/2020    55
10/10/2020    50
10/9/2020     45
10/8/2020     40
10/7/2020     35
10/6/2020     30
10/5/2020     25
10/4/2020     20
10/3/2020     15
10/2/2020     10
10/1/2020     5

期望輸出:

Date          Value

10/9/2020     30
10/2/2020     30

這就是我正在做的事情,感謝這個平台上有人的幫助:

df.Date = pd.to_datetime(df.Date)   

s = df.set_index('Date')['Value']
df['New'] = s.shift(freq = '-6 D').reindex(s.index).values  
df['Delta'] = df['New'] - df['Value'] 

df[['Date','Delta']].dropna()  

但是,這給了我一個運行增量,我希望每 7 天顯示一次增量,如所需輸出中所示。 任何建議表示贊賞

我認為你所做的方式是完美的方式。 我認為稍微修改一下會給你想要的結果。 嘗試這個:

 df.Date = pd.to_datetime(df.Date)
 s = df.set_index('Date')['Value']
 df['New'] = s.shift(freq = '-6 D').reindex(s.index).values
 df['Delta'] = df['New'] - df['Value'] 
 df_new=df[['Date','Delta']].dropna()
 df_new.iloc[::7, :]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM