2024-06-16 13:06:38 发布
网友
数据是一个按时间、纬度和经度排序的三维数组。我尝试用np.where()来给出所有最小值的索引,但是没有用。在
np.where()
print(np.where(n == msl.min))
它给出的结果是(array([], dtype=int64),),但我确实需要精确的经度和纬度。在
(array([], dtype=int64),)
您需要调用min()属性以获得最小值:
min()
Print(np.where(n == msl.min()))
问题是您调用msl.min时没有括号,这将返回一个函数对象。数组中没有一个项等于function,所以numpy.where会给你一个空数组。在
msl.min
numpy.where
如果你想从列中找到最小值/最大值,你有一个numpy函数,它名为:np.min.最小值()和np.最大值
你可以做这样的东西:
max_value = np.max(array['column_name']) min_value = np.min(array['column_name'])
我通过一个填充了0到9的随机整数的3D数组模拟了你的压力数据(分别是最小和最大模拟压力):
>>> msl = np.random.randint(0, 10, (2, 3, 4)) array([[[3, 7, 7, 0], [1, 0, 9, 8], [9, 4, 9, 4]], [[4, 2, 9, 8], [2, 4, 2, 5], [5, 4, 0, 4]]])
上面显示的玩具示例代表了在2个不同的时间、3个不同的纬度和4个不同的经度下的某个量级(即压力)的值。在
以下代码给出了压力最小值的时间、纬度和经度指数(即0在msl中的位置):
msl
请注意,您需要首先执行np.random.seed(somevalue),以便在不同的运行中获得相同的结果(要重现显示的结果,您必须设置somevalue = 1000)。在
np.random.seed(somevalue)
somevalue = 1000
您需要调用
min()
属性以获得最小值:问题是您调用
msl.min
时没有括号,这将返回一个函数对象。数组中没有一个项等于function,所以numpy.where
会给你一个空数组。在如果你想从列中找到最小值/最大值,你有一个numpy函数,它名为:np.min.最小值()和np.最大值
你可以做这样的东西:
我通过一个填充了0到9的随机整数的3D数组模拟了你的压力数据(分别是最小和最大模拟压力):
上面显示的玩具示例代表了在2个不同的时间、3个不同的纬度和4个不同的经度下的某个量级(即压力)的值。在
以下代码给出了压力最小值的时间、纬度和经度指数(即0在
^{pr2}$msl
中的位置):请注意,您需要首先执行
np.random.seed(somevalue)
,以便在不同的运行中获得相同的结果(要重现显示的结果,您必须设置somevalue = 1000
)。在相关问题 更多 >
编程相关推荐