【发布时间】:2021-06-24 16:58:06
【问题描述】:
我有来自现有数据框的以下数据:
Unnamed: 0 clOrdId transactTime symbol side lastPx lastQty
0 0 order__1000157 2021-05-28 09:45:54.923 1000157 S 0.9883 10.0
1 1 order__1000157 2021-05-28 09:45:23.500 1000157 S 0.9883 43.0
2 2 order__1000157 2021-05-28 09:26:38.129 1000157 S 0.9863 53.0
3 3 order__1000055 2021-05-28 09:24:16.837 1000055 S 0.9798 53.0
4 4 order__1000089 2021-05-28 09:24:11.027 1000089 B 0.9782 52.9
... ... ... ... ... ... ... ...
7296 5464 order-1AR1SCvx 2020-11-30 12:00:17.225000 1000065 B 0.9750 100.0
7297 5465 order-1AR1DUwx 2020-11-30 12:00:17.223000 1000065 B 0.9825 100.0
7298 5466 order-1AR1lQNx 2020-11-28 21:13:48.334000 1000114 S 0.9795 10.0
7299 5467 order-1AR1RvSx 2020-11-28 12:19:10.714000 1000065 S 1.0050 100.0
7300 5468 order-1AR1gSLx 2020-11-28 07:58:09.907000 1000065 B 0.9860 100.0
我想根据symbol 和lastPx 列创建一个新的汇总统计数据框,这样对于每个交易品种,我都可以看到最后价格的平均值、标准差、最小值和最大值.
因此预期结果(示例数据)可能如下所示:
symbol min max mean std
0 1000055 0.092 1.01 1.00 0.03
1 1000089 0.091 1.02 0.99 0.04
2 1000065 0.091 1.05 1.02 0.02
3 1000114 0.091 1.01 0.98 0.01
... ... ... ... ... ...
5000 1000157 0.091 1.01 1.00 0.02
5001 1000158 0.091 1.02 1.00 0.03
5002 1000159 0.091 1.03 1.01 0.04
我遇到了df.describe(),但这似乎并没有按照我需要查看每个symbol 唯一列出的方式工作。我的替代方法是逐个重新创建一个新的数据帧,但这似乎不是最佳方法。
有没有一种快速(pythonic)的方式来实现这个?
【问题讨论】: