在 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)
如果您有任何疑问,请告诉我。
给定一个 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)
如果您有任何疑问,请告诉我。