Python 如何将项附加到对象的数组中?
我在使用对象数组时遇到问题: 例如,我有:Python 如何将项附加到对象的数组中?,python,arrays,append,Python,Arrays,Append,我在使用对象数组时遇到问题: 例如,我有: import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype = object) 现在我想在数组a中追加一行: b = np.array([[10, 11, 12, 13]], dtype = object) 追加后,我想要的输出是: a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12, 13]],
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype = object)
现在我想在数组a中追加一行:
b = np.array([[10, 11, 12, 13]], dtype = object)
追加后,我想要的输出是:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12, 13]], dtype = object)
那么,有人能帮我吗?试试numpy.append方法。示例如下:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype = object)
b=np.append(a,[[11,12,13]], axis=0)
print (b)
在追加之前,应该检查两个数组的维度 您可以使用
print(myArray.shape)
获取维度
在这里,您希望将一行维度(1,4)附加到数组(3,3)
它不能按预期工作
所以我认为你首先要扩大你的数组的形状
例如:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype = object)
a= np.concatenate((a,np.zeros((3,1))),axis = 1)
# now you have a (3,4) array thus you can easily add a (1,4) row
#Point 1
b = np.array([[10,11,12,13]])
a = np.concatenate((a,b))
#Point 2
我在这里使用了np.concatenate
函数,但显然可以使用其他函数
输出
#Point 1
[[1 2 3 0.0]
[4 5 6 0.0]
[7 8 9 0.0]]
#Point 2
[[1 2 3 0.0]
[4 5 6 0.0]
[7 8 9 0.0]
[10 11 12 13]]
这回答了你的问题吗?您确定要将大小为4的列表附加到大小为3的列表数组中吗?如果要使用
dtype=object
,为什么首先要使用数组?我实际上使用的是MATLAB。在MATLAB中,我有一个单元数组,它可以显示[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12,13]]。所以我想把它翻译成python。我不确定dtype=object是否准确,所以有人能帮我吗?只需使用常规的列表即可。通常这是正确的解决方案,但是在问题b
中有4个元素,因此这不起作用。我实际使用的是MATLAB。在MATLAB中,我有一个单元数组,它可以显示[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12,13]]。所以我想把它翻译成python。我不确定dtype=object是否准确,有人能帮我吗?