python - 根据不同日期创建索引
问题描述
我有以下数据,这些数据根据time
来自 influxdb 检索最后的 2 个事件。现在我想添加最后一个事件 = 1 和上一个事件 = 2 的索引。当account_entity
、base_ccy
、source
相同但日期不同时,该索引将适用。last
索引逻辑可以忽略。
account_entity base_ccy last source time
0 CORP BTC 23444 KRAKEN 2019-04-25
1 CORP BTC 23434555 KRAKEN 2019-04-26
2 CORP ETH 123423444 KRAKEN 2019-04-25
3 CORP ETH 1231,3423 KRAKEN 2019-04-26
10 PTE BCH 23543.7667 BITSTAMP 2019-06-04
11 PTE BCH 4 BITSTAMP 2019-06-05
24 PTE BTC 2345.67677 BITSTAMP 2019-04-26
25 PTE BTC 8745 BITSTAMP 2019-04-27
我想添加一列来说明索引是什么。附加列将是:
index
2
1
2
1
2
1
2
1
任何帮助,将不胜感激。
解决方案
试试下面的代码(不确定逻辑是否正确但有效):
print(df.groupby(['account_entity', 'base_ccy']).cumcount().sub(1).abs().add(1))
输出:
0 2
1 1
2 2
3 1
10 2
11 1
24 2
25 1
dtype: int64
推荐阅读
- java - 无法在 URI 中加载分布式缓存中的文件 || 获取 NULLPointerException
- php - 上传文件大小大于 10GB 时连接重置负载均衡器
- android - 谷歌的火力基地。如果将某些内容上传到存储,是否可以发送电子邮件通知?
- javascript - 城市坐标上的 OpenLayers 4 中心地图
- javascript - 引导文件输入表单提交
- python - 如果分类列在训练集中有多个值但在测试数据中只有一个值怎么办?这样的功能在模型训练中是否有用?
- css - 在 CSS Grid 中使用自动调整如何使一个单元格占据 2 列?
- javascript - 如何在点击时显示每个类元素?
- asp.net - 如何在asp中将缩短的url重定向(或重写url)到长(原始)url
- postgresql - Spring JPA 发现与 order by 不同