如何根据匹配条件计算差异
数据挖掘
熊猫
2022-03-07 11:08:08
1个回答
如果我明白了,我们的想法是计算当前total_volume与其紧接下方之间的差异,同时考虑到project_name,对吧?您可以按project_name列对数据框进行分组,total_volume然后选择您可以使用.diff()的方法,此方法可以进行您需要的操作。
- 我将使用以下示例数据:
| 日期 | 总容积 | 项目名 | |
|---|---|---|---|
| 0 | 2021-08-26 | 1343.68 | $伦敦礼物 |
| 1 | 2021-08-26 | 1424.53 | $伦敦礼物 |
| 2 | 2021-08-26 | 1800.10 | $伦敦礼物 |
| 3 | 2021-08-26 | 2345.23 | $ GROUP_2 |
| 4 | 2021-08-26 | 2500.45 | $ GROUP_2 |
| 5 | 2021-08-26 | 2567.76 | $ GROUP_3 |
您可以观察到有 3 个不同的组$LONDON Gift:$GROUP_2和$GROUP_3
我们创建新列
daily_volume如下:df['daily_volume'] = df.groupby('project_name')['total_volume'].diff()
输出:
| 日期 | 总容积 | 项目名 | 每日交易量 | |
|---|---|---|---|---|
| 0 | 2021-08-26 | 1343.68 | $伦敦礼物 | 钠 |
| 1 | 2021-08-26 | 1424.53 | $伦敦礼物 | 80.85 |
| 2 | 2021-08-26 | 1800.10 | $伦敦礼物 | 375.57 |
| 3 | 2021-08-26 | 2345.23 | $ GROUP_2 | 钠 |
| 4 | 2021-08-26 | 2500.45 | $ GROUP_2 | 155.22 |
| 5 | 2021-08-26 | 2567.76 | $ GROUP_3 | 钠 |
最后的建议:避免使用图像作为数据,将您的代码放在问题中,例如:pd.DataFrame({...}).
其它你可能感兴趣的问题
