df fruit date price cost var1 0 apple 2017-01-01 2 2 20 1 apple 2017-01-02 3 3 40 2 banana 2017-01- 02 4 4 20 2 banana 2017-01-02 4 4 10有沒有辦法生成一階差分數據幀(fd_df),該數據框保留水果,var1,日期與 df ,但通過水果對所有剩余變量進行一階差分?我有 20 列需要一階差分(包括價格和成本),因此需要通用代碼。
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
IIUC,您可以set_index保留想要保留的列并groupby.diff在水果上使用,然后reset_index將索引恢復為列。
df_ = (df.set_index(['fruit','date','var1'])
.groupby(level='fruit').diff()
.reset_index()
)
print(df_)
fruit date var1 price cost
0 apple 2017-01-01 20 NaN NaN
1 apple 2017-01-02 40 1.0 1.0
2 banana 2017-01-02 20 NaN NaN
3 banana 2017-01-02 10 0.0 0.0
添加回答
舉報
0/150
提交
取消