我有一个这样的dataframe:
| 日期|客户|文章|
| - -----|- -----|- -----|
| 2022-01-01 2022-01-01| AA| 4|
| 2022-01-02 2022-01-02| AA|七个|
| 2022-01-03 2022-01-03| CC| 4|
| 2022-01-04 2022-01-04| CC|八|
| 2022-01-05 2022-01-05| AA|九个|
我想为每一行(交易)计算客户购买的前一件商品。结果应该如下所示:
| 日期|客户|文章|Prev_article|
| - -----|- -----|- -----|- -----|
| 2022-01-01 2022-01-01| AA| 4| 0|
| 2022-01-02 2022-01-02| AA|七个|4|
| 2022-01-03 2022-01-03| CC| 4| 0|
| 2022-01-04 2022-01-04| CC|八|4|
| 2022-01-05 2022-01-05| AA|九个|七个|
我尝试使用df.groupby('customer').nth(0),但对于客户的每笔交易,我都会得到与前一篇文章相同的结果。我想为一个交易,以获得以前的文章的客户
如果某个客户没有以前的交易,我就在prev_article上加0
1条答案
按热度按时间n53p2ov01#
使用
.groupby()
+.shift()
:图纸: