我需要指导。
请指教我可以使用哪个库来解决以下问题。我对Python很新,我试图对某些股票交易数据做一些统计。我为没有发布示例代码而道歉,因为我实际上并不知道从哪里开始。
我的数据如下:
这些共有3笔交易已被分解成碎片,目标是将它们合并为3个完整的单独交易以进行进一步分析。
需要删除多余的日期,因为它们都是相同的,必须平均时间,必须删除多余的符号,需要平均价格和需要添加数量。路线和经纪人并不重要
B =买入,S =卖出,SS =卖空
Date Time Symb Side Price Qty Route Broker
0 2017-12-05 12:26:13 VRX B 2.2000 1000 PDQM NaN
1 2017-12-05 12:00:21 VRX SS 2.1700 200 EDGE NaN
2 2017-12-05 12:00:21 VRX SS 2.1700 100 EDGE NaN
3 2017-12-05 12:00:21 VRX SS 2.1700 500 EDGE NaN
4 2017-12-05 12:00:21 VRX SS 2.1700 200 EDGE NaN
5 2017-12-05 11:53:14 FRK S 2.4000 1000 EDGE NaN
6 2017-12-05 11:52:41 FRK B 2.4200 300 PDQM NaN
7 2017-12-05 11:52:41 FRK B 2.4200 700 PDQM NaN
8 2017-12-05 11:51:53 CUR B 2.3200 1000 PDQM NaN
9 2017-12-05 11:50:36 CUR SS 2.1900 710 EDGE NaN
10 2017-12-05 11:50:32 CUR SS 2.1900 290 SMAT NaN
最终结果应如下所示:
总共3笔交易中,每笔交易6条线由2条边组成,买入和卖出,或卖空和买入。请注意,数据是向后的,从最底层的最旧交易到顶部的最新交易
Date Time Symb Side Price Qty
0 2017-12-05 12:26:13 VRX B 2.2000 1000
1 2017-12-05 12:00:21 VRX SS 2.1700 1000
2 2017-12-05 11:53:14 FRK S 2.4000 1000
3 2017-12-05 11:52:41 FRK B 2.4200 1000
4 2017-12-05 11:51:53 CUR B 2.3200 1000
5 2017-12-05 11:50:34 CUR SS 2.1900 1000
答案 0 :(得分:1)
aggs = {"Price":"mean", "Qty":"sum","Time":"min"}
df = df.groupby(["Date","Symb", "Side"])[["Price","Qty","Time"]].agg(aggs)
df = df.reset_index()