我正在创建一个包含股票回报的二维numpy数组。我想每两天计算一次返回值的总和,如果总和在前两位,我将把形状相似的数组中的每个元素设置为True。在
例如,下面的收益率是四种不同股票的日收益率。在
returns=np.array([
[0, 0, 4, 8],
[7, 5, 4, 1],
[10, 5, 7, 6],
[7, 5, 4, 2]])
前两天,第2列和第3列(使用基于0的索引)的总和最高。在第二组两天中,第0列和第2列的总和最高。我想要的输出数组是
bools=np.array([
[False, False, True, True],
[False, False, True, True],
[True, False, True, False],
[True, False, True, False]])
有什么好方法可以做到这一点?在
如果两天的总和有联系,我想用另一个形状类似的纽比阵列作为决胜局。在
例如,如果
returns=np.array([
[0, 9, 4, 8],
[7, 5, 4, 0],
[10, 5, 7, 6],
[7, 5, 4, 2]])
前两天,第2列和第3列并列第二高。我想根据最后一行中并列列的最大值来确定分界线,这样第2列和第3列之间的平局将看分界线[1][2]与分界线[1][3](4 v 5),最终的输出是bools2。在
tiebreaks=np.array([
[0, 0, 1, 1],
[2, 3, 4, 5],
[0, 5, 7, 6],
[-7, 5, -4, 2]])
bools2=np.array([
[False, True, False, True],
[False, True, False, True],
[True, False, True, False],
[True, False, True, False]])
谢谢你的帮助。在
您可以使用^{} 获取索引,这些索引使用
prices
作为主键,names
作为辅助键对数组进行排序。使用高级索引生成以下数组:(请注意,在您的示例中,}没有兼容的形状。)
names
和{相关问题 更多 >
编程相关推荐