【发布时间】:2021-09-27 17:59:39
【问题描述】:
我的数据框看起来像:
user_id date balance
A 1 100
A 2 200
A 3 250
B 2 300
B 3 200
我想创建一个新列,该列是每个用户今天和前一天的余额差。
user_id date balance balance_previous_day
A 1 100 NaN
A 2 200 100
A 3 250 50
B 2 300 NaN
B 3 200 -100
我试过了:
df.groupby (['user_id']).apply (lambda x: np.diff (x.balance, 1))
结果将是:
user_id
A [100, 50]
B [-100]
结果是正确的,但我不知道如何将结果放回数据框。
【问题讨论】:
-
使用
df.groupby(['user_id']).balance.diff()