gpt4 book ai didi

python - 访问 Numpy 数组中中间四个元素的最快方法?

转载 作者:行者123 更新时间:2023-11-28 20:04:34 27 4
gpt4 key购买 nike

假设我有一个 Numpy 数组,例如

rand = np.random.randn(6, 6)

我需要数组中间的四个值,因为它的轴长度是偶数。如果它是奇数,比如 5 x 5,那么就只有一个中心值。检索这四个条目的最简单/最快/最容易的方法是什么?我可以使用索引非常粗略地获得它们,但我正在寻找一种比调用一堆函数和执行一堆计算更快的方法。

例如,考虑以下内容:

array([[ 0.25659355, -0.75456113,  0.39467396,  0.50805361],
[-0.77218172, 1.00016061, -0.70389486, 1.67632146],
[-0.41106158, -0.63757421, 1.70390504, -0.79073362],
[-0.2016959 , 0.55316318, -1.55280823, 0.45740193]])

我想要以下内容:

array([[1.00016061, -0.70389486],
[-0.63757421, 1.70390504]])

但不仅仅是 4 x 4 数组 - 如果它是偶数,我想要中间的四个元素,如上所述。

最佳答案

这样的事情是不是太复杂了?

def get_middle(arr):
n = arr.shape[0] / 2.0
n_int = int(n)
if n % 2 == 1:
return arr[[n_int], [n_int]]
else:
return arr[n_int:n_int + 2, n_int:n_int + 2]

关于python - 访问 Numpy 数组中中间四个元素的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36318806/

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