gpt4 book ai didi

python - 根据Python数据框中的特定条件减去特定列的行值

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:20 25 4
gpt4 key购买 nike

我的数据如下所示:

Customer  Product Date       Amount Paid
C1 P1 5/10/2011 100
C1 P1 5/18/2015 200
C1 P1 6/17/2019 300
C2 P2 4/18/2019 50

我想要针对每个客户和产品,根据日期计算最近两次支付金额之间的差异,第一次支付金额和最后一次支付金额之间的差异。以及最高和最低支付金额之间的差额。

对于只有一笔交易的客户,这些变为 0。因此输出应如下所示:

Customer Product   Diff_first_last    Diff_last_two   Diff_min_max
C1 P1 200 100 200
C2 P2 0 0 0

最佳答案

这是传递到apply的一种方式

df.groupby(['Customer','Product']).Amount.apply(lambda x : pd.Series({'Diff_first_last':x.iloc[0]-x.iloc[-1],
'Diff_last_two':x.iloc[-2:].diff().fillna(0).iloc[-1],
'Diff_min_max':np.ptp(x)})).unstack()
Diff_first_last Diff_last_two Diff_min_max
Customer Product
C1 P1 -200.0 100.0 200.0
C2 P2 0.0 0.0 0.0

关于python - 根据Python数据框中的特定条件减去特定列的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58600991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com