我有一个形状为 (100,9,17,2) 的 numpy 数组。我需要将其转换为 (100,15,17,2) 在缺失的单元格中添加零。我创建了一个 zeros(100,6,17,2) 但我无法合并它们。你能帮我吗?
答案 0 :(得分:0)
使用 numpy 的连接函数。
result = np.concatenate([input_array, np.zeros((100, 6, 17, 2), dtype=input_array.dtype)], axis=1)
axis
参数是您希望添加维度的参数。
答案 1 :(得分:0)
import numpy as np
a = np.array ([[1, 2], [2, 2]])
b = np.array ([[1, 2], [2, 2], [1,2]])
print (a.shape, b.shape)
输出:(2,2), (3,2)
现在,连接两个数组提及轴。
c = np.concatenate((a,b), axis=0)
output: array([[1, 2],
[2, 2],
[1, 2],
[2, 2],
[1, 2]])
答案 2 :(得分:0)
很简单,您使用参考形状创建一个包含零的数组:
c = np.zeros((100, 15, 17, 2))
然后在正确的元素中插入另一个数组:
c[:a.shape[0],b.shape[1]:,:a.shape[2],:a.shape[3]] = a
最后把它们加起来:
merged = b + c
答案 3 :(得分:0)
您可以使用 numpy.apply_along_axis()
和 numpy.pad()
new_array = np.apply_along_axis(lambda x: np.pad(x,(0,6)), 1, input_array)