【发布时间】:2020-09-26 23:39:57
【问题描述】:
**在底部编辑**
我有一个包含库存数据的数据框,如下所示:
d = {'product': [a, b, a, b, c], 'amount': [1, 2, 3, 5, 2], 'date': [2020-6-6, 2020-6-6, 2020-6-7,
2020-6-7, 2020-6-7]}
df = pd.DataFrame(data=d)
df
product amount date
0 a 1 2020-6-6
1 b 2 2020-6-6
2 a 3 2020-6-7
3 b 5 2020-6-7
4 c 2 2020-6-7
我想知道每个月的库存差异是多少。输出如下所示:
df
product diff isnew date
0 a nan nan 2020-6-6
1 b nan nan 2020-6-6
2 a 2 False 2020-6-7
3 b 3 False 2020-6-7
4 c 2 True 2020-6-7
抱歉,如果我在第一个示例中不清楚,实际上我有很多个月的数据,所以我不只是在研究一个时期与另一个时期的差异。它需要是一个一般情况,它查看月份 n 与 n-1 的差异,然后是 n-1 和 n-2 等等。
在 Pandas 中最好的方法是什么?
【问题讨论】:
-
为什么第 4 行 diff 等于 2?没有以前的“c”产品。
-
@ScottBoston 我猜
c是上个月没有出现的新产品(isnew是True)所以上个月的金额是0。
标签: python pandas dataframe datetime