gpt4 book ai didi

python - scipy中二维数组的最小值计算

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:23 25 4
gpt4 key购买 nike

import numpy as np
from scipy import signal

data = np.array([[[13, 2, 1, np.nan, np.nan],
[22, 1, 1, 4, 4],
[4, 2, 3, 3, 4],
[1, 1, 4, 1, 5],
[2, 4, 5, 2, 1]],

[[17, 7, 10, 6, np.nan],
[np.nan, 7, 8, 6, 9],
[6, 10, 9, 8, 10],
[6, 8, 7, 10, 8],
[10, 9, 9, 10, 8]],

[[16, 7, 10, np.nan, np.nan],
[19, 19, 8, 6, 9],
[6, 10, 9, 8, 10],
[6, 8, 7, 10, 8],
[10, 9, 9, 10, 8]],

[[61, 7, 10, 6, np.nan],
[19, 21, 8, 6, 9],
[6, 10, 9, 8, 10],
[6, 8, 7, 10, 8],
[10, 9, 9, 10, 8]],

[[51, 7, 10, 6, np.nan],
[19, 21, 8, 6, 9],
[6, 10, 9, 8, 10],
[6, 8, 7, 10, 8],
[10, 9, 9, 10, 8]],

[[34, 7, 10, 6, np.nan],
[19, 21, 8, 6, 9],
[6, 10, 9, 8, 10],
[6, 8, 7, 10, 8],
[10, 9, 9, 10, 8]],

[[12, 14, 12, 15, np.nan],
[19, 11, 14, 14, 11],
[13, 13, 16, 15, 11],
[14, 15, 14, 16, 14],
[13, 15, 11, 11, 14]]])

data = data.reshape(7,25)
minima = data[signal.argrelmin(data,axis=0,order=1)]
print minima

但它只产生了一个结果,与以下内容相同:

test = np.array([13,17,16,61,51,34,12])
print test[signal.argrelmin(test)]

因此上述方法只能为每列的第一个元素生成结果。如何获得其他 24 个元素的结果?

最佳答案

您的问题几乎与我在my answer to your previous post中描述的一样。 。问题是数据数组中沿轴 0 没有其他相对最小值。您已经收到该函数的正确输出。

例如,在第二列中:

2、7、7、7、7、7、14

按照 argrelmin 的理解,不存在相对最小值。如果您希望 2 成为相对最小值,则可以将 mode='wrap' 参数添加到函数调用中。但是,请小心 NaN(再次参见我对您原来问题的回答)。

关于python - scipy中二维数组的最小值计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23508263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com