gpt4 book ai didi

python - 如何 "scale"一个 numpy 数组?

转载 作者:IT老高 更新时间:2023-10-28 22:23:35 25 4
gpt4 key购买 nike

我想将形状 (h, w) 的数组缩放 n 倍,得到形状 (h*n, w*n) 的数组。

假设我有一个 2x2 数组:

array([[1, 1],
[0, 1]])

我想将数组缩放为 4x4:

array([[1, 1, 1, 1],
[1, 1, 1, 1],
[0, 0, 1, 1],
[0, 0, 1, 1]])

即原始数组中每个单元格的值被复制到结果数组中对应的4个单元格中。假设任意数组大小和缩放因子,最有效的方法是什么?

最佳答案

您应该使用 Kronecker product , numpy.kron :

Computes the Kronecker product, a composite array made of blocks of the second array scaled by the first

import numpy as np
a = np.array([[1, 1],
[0, 1]])
n = 2
np.kron(a, np.ones((n,n)))

给你想要的:

array([[1, 1, 1, 1],
[1, 1, 1, 1],
[0, 0, 1, 1],
[0, 0, 1, 1]])

关于python - 如何 "scale"一个 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7525214/

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