首页 > 解决方案 > 根据不同日期创建索引

问题描述

我有以下数据,这些数据根据time来自 influxdb 检索最后的 2 个事件。现在我想添加最后一个事件 = 1 和上一个事件 = 2 的索引。当account_entitybase_ccysource相同但日期不同时,该索引将适用。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

任何帮助,将不胜感激。

标签: pythonpandasindexing

解决方案


试试下面的代码(不确定逻辑是否正确但有效):

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

推荐阅读