为了账号安全,请及时绑定邮箱和手机立即绑定

用(n-1)d数组索引n维数组

用(n-1)d数组索引n维数组

慕斯709654 2019-08-03 07:03:53
用(n-1)d数组索引n维数组使用(n-1)维数组访问给定维度的n维数组的最优雅方法是什么,如虚拟示例中所示。a = np.random.random_sample((3,4,4))b = np.random.random_sample((3,4,4))idx = np.argmax(a, axis=0)我现在如何访问idx a使极大值进入a好像我用过a.max(axis=0)?或如何检索idx在……里面b?我想用np.meshgrid但我觉得这太过分了。注意尺寸axis可以是任何有用的轴(0,1,2)并且事先不知道。有什么好办法吗?
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

all_idx很好。我没有意识到使用argmax输出的形状而不是原始数组的形状会简化事情。至于元组而不是列表,高级索引语义与元组相比更加清晰。在这种情况下,列表的行为碰巧是一样的,这是因为在特定条件下,向后兼容性处理将列表转换为元组(但没有得到完全正确的记录)。在NumPy索引中,当一个列表被当作一个元组对待,当一个列表被当作一个数组处理时,这可能会令人惊讶,所以我更喜欢显式地创建这个元组。 

查看完整回答
反对 回复 2019-08-05
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

作为参考,我指的向后兼容性处理是这里..案件idx是标量是我甚至没有想过的事情,在那里,向后兼容性处理不会被触发,如果我们保留一个列表而不是一个元组,就会出现错误的结果。正如这说明的,元组的行为更一致,更容易预测。 

查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信