大家好,我有一个很长的难题要解决,所以请耐心等待。
我正在尝试通过多个交易所建立df
的股价和交易量。我的一些股票在多个交易所中上市,因此我要做的是从该交易所获得交易量最大的交易所的价格数据,然后取不同交易所的平均交易量。让我们先来看df
。
exchange_df1=
Date Sk_A_px Sk_A_vo Sk_B_px Sk_B_vo Sk_C_px Sk_C_vo
09/06/2019 08:00 0.83 9761 1.61 514 5.02 75
09/06/2019 09:00 0.83 15391 1.60 186 5.01 93
09/06/2019 10:00 0.83 18233 1.60 524 4.99 111
09/06/2019 11:00 0.83 21900 1.59 498 4.96 262
09/06/2019 12:00 0.83 8085 1.59 119 4.98 203
09/06/2019 13:00 0.81 42728 1.54 1472 4.89 405
09/06/2019 14:00 0.81 26971 1.53 1032 4.91 231
09/06/2019 15:00 0.81 40405 1.53 739 4.92 173
09/06/2019 16:00 0.80 42562 1.52 448 4.87 412
09/06/2019 17:00 0.79 270292 1.50 2091 4.81 1584
exchange_df2=
Date Sk_B_px Sk_B_vo Sk_C_px Sk_C_vo Sk_D_px Sk_D_vo
09/06/2019 08:00 1.63 5657 5.05 785 0.46 9045
09/06/2019 09:00 1.59 2044 5.04 974 0.46 15541
09/06/2019 10:00 1.61 5761 5.02 1168 0.46 22781
09/06/2019 11:00 1.57 5476 4.99 2751 0.46 59322
09/06/2019 12:00 1.60 1309 5.01 2128 0.46 18349
09/06/2019 13:00 1.56 16195 4.92 4256 0.45 59217
09/06/2019 14:00 1.51 11347 4.94 2430 0.44 103682
09/06/2019 15:00 1.54 8133 4.95 1821 0.45 46086
09/06/2019 16:00 1.55 4928 4.90 4330 0.44 39859
09/06/2019 17:00 1.51 22997 4.84 16628 0.42 134984
exchange_df3=
Date Sk_B_px Sk_B_vo Sk_E_px Sk_E_vo Sk_F_px Sk_F_vo
09/06/2019 08:00 1.60 5714 1.00 13088 6.40 13687
09/06/2019 09:00 1.56 2064 1.00 20380 6.40 18542
09/06/2019 10:00 1.58 5819 1.00 8264 6.31 10203
09/06/2019 11:00 1.54 5531 1.00 12218 6.28 4709
09/06/2019 12:00 1.57 1322 1.00 6477 6.22 2110
09/06/2019 13:00 1.53 16358 0.98 28151 6.02 10006
09/06/2019 14:00 1.48 11461 0.96 30669 5.95 4546
09/06/2019 15:00 1.51 8214 0.96 11420 6.01 4618
09/06/2019 16:00 1.52 4977 0.96 13484 6.04 5477
09/06/2019 17:00 1.48 23229 0.94 23952 5.78 5949
所以我的stocks
列表就是这样; stocks = ['Sk_A', 'Sk_B', 'Sk_C', 'Sk_D', 'Sk_E', 'Sk_F']
,每只股票都有一个_px
(价格)和_vo
(数量)列。
然后,我希望通过遍历此股票列表来构建total_df
,然后尝试进行以下操作。
首先,我需要检查股票是否在1个或超过1个交易所上市。如果仅仅是一个,那么我需要确定哪个交易所,然后将价格和成交量数据添加到total_df
中。对于我们的第一批股票Sk_A
:
它只列出了一个exchange_df1
,所以我只想做total_df = total_df.merge(exchange_df1[['Date', stock + '_px', 'stock + _vo']], on='Date', how='left')
或类似的事情。
下一步是我真的迷路了。 Sk_B
在所有3个交易所中列出。总交易量最大的交易所是exchange_df3
,因此我想确定这一点,然后将Sk_B_px
的交易所价格数据添加到我们的total_df
中。然后,我想对所有三个交易所的交易量取平均值。并将其用作total_df
中的音量列。
以类似的方式,您会注意到Sk_C
和exchange_df1
上同时列出了exchange_df2
,其中exchange_df2
是较高的总交易量,在这种情况下,我想以此价格数据作为我们的总df,然后再次将两个交易所的交易量平均。
不幸的是,屏幕不够宽,无法容纳我想要df
的完整示例,但是我已经为A,B和C完成了此操作,我认为这对于作为A,B的示例来说是完美的和C代表我目前发现自己的不同情况。
Date Sk_A_px Sk_A_vo Sk_B_px Sk_B_vo Sk_C_px Sk_C_vo
09/06/2019 08:00 0.83 9761 1.60 3962 5.05 430
09/06/2019 09:00 0.83 15391 1.56 1431 5.04 533
09/06/2019 10:00 0.83 18233 1.58 4035 5.02 639
09/06/2019 11:00 0.83 21900 1.54 3835 4.99 1507
09/06/2019 12:00 0.83 8085 1.57 917 5.01 1165
09/06/2019 13:00 0.81 42728 1.53 11342 4.92 2331
09/06/2019 14:00 0.81 26971 1.48 7946 4.94 1331
09/06/2019 15:00 0.81 40405 1.51 5695 4.95 997
09/06/2019 16:00 0.80 42562 1.52 3451 4.90 2371
09/06/2019 17:00 0.79 270292 1.48 16106 4.84 9106
任何帮助将不胜感激,欢呼