numpy 如何从2D ndarray中过滤并得到最小和最大值

qv7cva1a  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(119)
n2d = np.array(
[
    [10,0],
    [11,0],
    [12,0],
    [0,1],
    [100,1],
    [200,1],
    [20,0],
    [21,0],
    [22,0],
])

这是x-y坐标的ndarray。
我想得到y=0的坐标中的最小和最大x值的坐标
我想要得到的值是[10,0],[22,0]
我想用NumPy拥有的特性来实现它。

jk9hmnmh

jk9hmnmh1#

import numpy as np

n2d = np.array(
[
    [10,0],
    [11,0],
    [12,0],
    [0,1],
    [100,1],
    [200,1],
    [20,0],
    [21,0],
    [22,0],
])

min_y_coordinate = np.amin(n2d)
filter_list = [True if item[-1] == min_y_coordinate else False for item in n2d ]
filtered_array = n2d[filter_list]
print("min_value" , np.amin(filtered_array, axis=0))
print("max_value" , np.amax(filtered_array, axis=0))

相关问题