gpt4 book ai didi

python - 如何使用 Numpy.concatenate 连接空数组?

转载 作者:行者123 更新时间:2023-11-30 23:00:49 25 4
gpt4 key购买 nike

我需要创建一个特定大小的数组 mxn 并填充空值,以便当我连接到该数组时,初始值将被添加的值覆盖.

我当前的代码:

a = numpy.empty([2,2])  # Make empty 2x2 matrix
b = numpy.array([[1,2],[3,4]]) # Make example 2x2 matrix
myArray = numpy.concatenate((a,b)) # Combine empty and example arrays

不幸的是,我最终创建了一个 4x2 矩阵,而不是具有 b 值的 2x2 矩阵。

是否有办法制作一个特定大小的实际空数组,以便当我连接到它时,它的值成为我的添加值而不是默认+添加值?

最佳答案

就像 Oniow 所说,连接的作用正是您所看到的。

如果您想要与常规标量元素不同的“默认值”,我建议您使用 NaN 初始化数组(作为您的“默认值”)。如果我理解你的问题,你想合并矩阵,以便常规标量将覆盖你的“默认值”元素。

无论如何,我建议您添加以下内容:

def get_default(size_x,size_y):
# returns a new matrix filled with 'default values'
tmp = np.empty([size_x,size_y])
tmp.fill(np.nan)
return tmp

还有:

def merge(a, b):
l = lambda x, y: y if np.isnan(x) else x
l = np.vectorize(l)
return map(l, a, b)

请注意,如果合并 2 个矩阵,并且两个值都不是“默认”值,那么它将采用左侧矩阵的值。

使用 NaN 作为默认值,将根据默认值产生预期的行为,例如,所有数学运算都将产生“默认”,因为该值表明您并不真正关心矩阵中的该索引。

关于python - 如何使用 Numpy.concatenate 连接空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145449/

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