我需要修改函数的数组参数 添加一行0。
MNWE:
import numpy as np
def addrow(A):
n,p = A.shape
temp = np.zeros((n+1,p))
temp[:n,:] = A
A = temp
据我所知,最后一行将A定义为局部变量
但A[:,:]=temp
因形状不匹配而引发错误。
没有在全局变量中转A的任何想法吗?
由于
答案 0 :(得分:0)
这是你想要的吗?
>>> x = np.arange(12).reshape((4, 3))
>>> x
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
>>> shape = x.shape
>>> np.append(x, np.zeros(x.shape[1])).reshape(shape[0] + 1, shape[1])
array([[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.],
[ 9., 10., 11.],
[ 0., 0., 0.]])
>>>