使用 datetime 和 pandas 进行条件计算

Doing conditional calculations with datetime and pandas

我有一些交易数据,如图所示。 一个瞬间可以有多个条目。我想在每个时刻根据 PRICE 和 SIZE 进行一些计算。我想做类似的事情:

total_size = eur_jpy_order.groupby(['TIMESTAMP', 'BUY_SELL_FLAG']).sum()
avg_price = eur_jpy_order.groupby(['TIMESTAMP', 'BUY_SELL_FLAG']).mean()

然后只使用带有 TIMESTAMP、BUY_SELL_FLAG、total_size 和 avg_price 的数据帧,每个时间步都有一个条目。我找不到一个简单的方法来做到这一点。谁能给点建议?

我想你可以使用 agg:

>>> eur_jpy_order

           BUY_SELL_FLAG  PRICE  SIZE
TIMESTAMP
1                      1     10    10
1                      1     20    20
1                      1     30    30
1                      2     40    40

>>> eur_jpy_order.groupby(['TIMESTAMP', 'BUY_SELL_FLAG']) \
                 .agg(total_size=('SIZE', 'sum'),
                      avg_price=('PRICE', 'mean'))

                         total_size  avg_price
TIMESTAMP BUY_SELL_FLAG
1         1                      60       20.0
          2                      40       40.0