下面是我的数据框中的示例数据。我试图按日期绘制累积销售额(X 轴是排序的日期,Y 轴是 sales_USD 的累积总和)。每个项目代码都需要有自己的曲线。我如何使用 pandas 来做到这一点?
日期 | 商品代码 | 销售额_美元 |
---|---|---|
2023 年 8 月 3 日 | A | 339 |
2023 年 3 月 27 日 | A | 289 |
2022 年 12 月 17 日 | E | 516 |
2023 年 8 月 9 日 | C | 138 |
2022 年 8 月 21 日 | D | 598 |
2022 年 8 月 25 日 | E | 674 |
2023 年 1 月 26 日 | C | 140 |
2023 年 3 月 12 日 | E | 727 |
2023 年 4 月 11 日 | E | 166 |
2022年10月31日 | D | 609 |
2023 年 3 月 15 日 | C | 463 |
2022 年 9 月 6 日 | C | 929 |
2023 年 7 月 8 日 | D | 262 |
2023 年 7 月 1 日 | B | 504 |
2023 年 2 月 22 日 | B | 345 |
2022年10月26日 | C | 602 |
2023 年 3 月 16 日 | B | 730 |
2022 年 9 月 4 日 | C | 831 |
2022 年 9 月 16 日 | D | 502 |
2022 年 11 月 21 日 | C | 684 |
2022 年 9 月 7 日 | C | 704 |
2022 年 7 月 30 日 | C | 222 |
2023 年 4 月 5 日 | D | 800 |
要获得累积总和,请使用
groupby
和 cumsum
:
df['Cumulative_Sales'] = df.groupby('ItemCode')['Sales_USD'].cumsum()
然后你可以绘制每个组:
for item_code, group in df.groupby('ItemCode'):
plt.plot(group['Date'], group['Cumulative_Sales'], label=item_code)