将列过滤为熊猫中的几列

时间:2019-01-09 19:51:16

标签: python pandas

我有一个看起来像这样的表:

|            | type       | reason      | instrument |
|------------|------------|-------------|------------|
| 12.12.2012 | order_fill | take_profit | EUR_USD    |
| 12.12.2012 | order_fill | limit_order | USD_EUR    |
| 13.12.2012 | order_fill | limit_order | USD_MXN    |
| 13.12.2012 | order_fill | limit_order | USD_NOK    |
| 13.12.2012 | order_fill | stop_loss   | EUR_USD    |

它确实包含很多列和数百万行,所以我需要对其进行有效地排序。

我想要一个看起来像这样的表:

|            | take_profit | limit_order | stop_loss |
|------------|-------------|-------------|-----------|
| 12.12.2012 | 1           | 1           |           |
| 13.12.2012 |             | 2           | 1         |

换句话说,计算每天的实例数。

我尝试了很多这样的版本:

total[total['type']=='ORDER_FILL'].groupby('reason').count()

total[total['type']=='ORDER_FILL'][['reason','type']].resample('D').count()

total[total['type']=='ORDER_FILL'].resample('D').count().unstack(level=0)

它们似乎都使我朝着自己的目标迈出了一步,但是将它们结合起来似乎并不能解决问题。而且我什至不想从迭代循环开始.....

有什么建议吗?预先感谢

0 个答案:

没有答案