按多个字段分组并计算值之间的差异

2024-04-28 12:52:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

enter image description here

我有两个卖家id,每一周的每个项目标题。我想做的是计算这两个卖家(卖家id 221591137-卖家id 143125485)每周每种产品(标题)的价格差。因此,期望的响应是(对于第一个产品):

week: 5, title: 'Anafe Orbis 724aco 4 H', diff_price: 0
week: 6, title: 'Anafe Orbis 724aco 4 H', diff_price: 300 (9799-9499)

我试过几种方法,但都找不到有效的解决办法

编辑:Link到样本数据


Tags: 数据项目方法id标题产品titlediff
1条回答
网友
1楼 · 发布于 2024-04-28 12:52:15

我建议使用pandas.DataFrame.groupby()作为组获取所需的数据。然后,您可以对该组应用一个函数,例如:

group = df.groupby(["title", "week"])
price_diff = group.apply(lambda x: x['price'].diff().iloc[0]

这将返回一个包含所有价格差异的熊猫系列

相关问题 更多 >