【问题标题】:Extremum of a weird array in numpy (python3)numpy(python3)中奇怪数组的极值
【发布时间】:2016-07-08 14:13:14
【问题描述】:

我有一个如下所示的数组:

ar=[[[678,701]],
 [[680,702]],
 [[674,710]],
 ...]

我必须找到每一列的极值(即,对于这些 678,680,674... 和 701,702,710,... 独立)。

我尝试通过以下方式访问这些列:

ar[:][0][0]ar[:][0][1]

但事实证明,Python 对 ar[:][0] 的理解与 ar[0] 相同,因此我不知道有什么方法可以防止使用循环。是否还有任何复杂的技术可以做到这一点?

【问题讨论】:

标签: python arrays python-3.x numpy


【解决方案1】:

要找到沿特定轴的极值,您可以使用the axis parameter

import numpy as np

ar = np.array([[[678,701]],
 [[680,702]],
 [[674,710]],
])

print ar.max(axis=0)  #  [[680 710]]
print ar.max(axis=0)  #  [[674 701]]

要切出两列,您可以使用:

print ar[:,0,0]       # [678 680 674]
print ar[:,0,1]       # [701 702 710]

【讨论】:

  • 谢谢,切片部分正是我所需要的
猜你喜欢
  • 2014-11-04
  • 1970-01-01
  • 2021-01-30
  • 2018-05-17
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 2020-01-14
  • 2020-01-10
相关资源
最近更新 更多