在 3 的 numpy 矩阵中查找匹配行

Find matching rows in a numpy matrix of 3

给定一个 mxmxm 的立方体,我需要知道在 6 个面中行中最小值大于给定 n 的行。

获取各​​种面孔:

faces = np.array([
    x[ 0,  :,  :],
    x[-1,  :,  :],
    x[ :,  0,  :],
    x[ :, -1,  :],
    x[ :,  :,  0],
    x[ :,  :, -1],
])

现在折叠最后一个维度轴:

# No information on orientation provided by OP so always pick axis=-1
row_mins = np.min(faces, axis=-1)

然后只保留满足条件的行:

valid_rows = faces[row_mins > n]
print(valid_rows)

您可以在迭代的帮助下过滤值。对于 numpy iteration

代码

import numpy as np
data=np.arange(54).reshape(6,3,3)
print(data,data.ndim)

#n : given value to filter
n=10

#to get all the elements that are greater than n
print(data[data>n])

for i in data:
  for row in i:
    if  row[row>n].size :
        print(row)

如果您有任何疑问,请告诉我。