Python 关于for循环中numpy append函数的查询

Python 关于for循环中numpy append函数的查询,python,numpy,Python,Numpy,我正在努力将一个numpy数组附加到另一个 data_X = load_dataset() print(data_X.shape) # (6794, 11) result_array = np.empty((0, 110)) for i in range(0, 1000, 10): arr_1d = data_X[i:i+10].reshape(1, 110) np.append(result_array, arr_1d, axis=0) print(result_array

我正在努力将一个numpy数组附加到另一个

data_X = load_dataset()
print(data_X.shape) # (6794, 11)
result_array = np.empty((0, 110))

for i in range(0, 1000, 10):
    arr_1d = data_X[i:i+10].reshape(1, 110)
    np.append(result_array, arr_1d, axis=0)

print(result_array.shape)

我不知道我做错了什么。。没有错误,但是
结果数组的形状是
(0110)
。请提供帮助。

list.append不同,
numpy.append
不起作用,但返回一个新对象。要使循环工作,您必须重新分配到
result\u array

还请注意,
numpy.append
效率很低,不应该这样使用

实现循环等效性的推荐方法包括

  • 使用
    np.empty
    预分配,然后使用切片分配
  • 附加到列表并使用
    np。最后连接

list.append
不同,
numpy.append
不起作用,但返回一个新对象。要使循环工作,您必须重新分配到
result\u array

还请注意,
numpy.append
效率很低,不应该这样使用

实现循环等效性的推荐方法包括

  • 使用
    np.empty
    预分配,然后使用切片分配
  • 附加到列表并使用
    np。最后连接

谢谢您的帮助。它在重新分配后工作。result\u array=np.append(result\u array,arr\u 1d,axis=0)感谢您的帮助。它在重新分配后工作。结果数组=np.append(结果数组,arr\u 1d,axis=0)