我有两只熊猫的数据帧。你知道吗
交易数据框有一个不同交易的进入和退出时间列表
Trade# Entrytimestamp Exittimestamp
0 2003-01-02 10:30:00 2003-01-07 14:30:00
1 2003-01-07 13:35:00 2003-01-09 12:30:00
2 2003-01-13 14:30:00 2003-01-16 11:10:00
3 2003-01-14 09:50:00 2003-01-23 13:20:00
4 2003-01-17 13:30:00 2003-01-29 14:30:00
tenmin数据帧有一个十分钟内有关股票价格的列表
timestamp price
2003-01-02 00:00:00 50.12
2003-01-02 00:10:00 50.15
2003-01-02 00:20:00 50.14
2003-01-02 00:30:00 50.13
2003-01-02 00:40:00 50.14
我想做的是找出每笔交易中的最高和最低价格,得到这样的结果:
Trade# Entrytimestamp Exittimestamp IntraTradeMAX IntraTradeMIN
0 2003-01-02 10:30:00 2003-01-07 14:30:00 60.75 60.40
1 2003-01-07 13:35:00 2003-01-09 12:30:00 70.52 63.26
2 2003-01-13 14:30:00 2003-01-16 11:10:00 69.25 67.52
3 2003-01-14 09:50:00 2003-01-23 13:20:00 62.90 61.00
4 2003-01-17 13:30:00 2003-01-29 14:30:00 67.58 65.15
我知道我只需要将10分钟的条形图文件按每笔交易的进入和退出时间分组,并取最大值,但如果不逐个遍历每笔交易,我就不知道如何做到这一点。鉴于我的文件有超过10000笔交易,这样做将花费太长的时间。关于如何用熊猫的方式做这件事有什么建议吗?你知道吗
如果有帮助,我目前的解决方案(太慢)如下。你知道吗
def intramax(row):
trademax = ten['price'][np.logical_and(ten['timestamp'] > row['Entrytimestamp'], ten['timestamp'] < row['Exittimestamp'])].max()
return trademax
trade['IntraTradeMAX'] = trade.apply(intramax, axis=1)
我相信你可以用一个更好的算法做得更好,也许有一些聪明的方法在} 实现似乎做得很好。你知道吗
pandas
我没有想到,但一个相当幼稚的^{相关问题 更多 >
编程相关推荐