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
提交
取消