Python 如何用几个记录数组字段附加numpy数组?
我有一个带有几个记录字段的数组Python 如何用几个记录数组字段附加numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,我有一个带有几个记录字段的数组 arr=np.array([[(0,1,3)]],dtype=[('A','i4'),('B','i4'),('C','u4')]) print(arr) [[(0, 1, 3)]] 我想添加一个新列并获得如下数组: arr2=np.array([[(0,1,3,0)]],dtype=[('A','i4'),('B','i4'),('C','u4'),('D','i4')]) print(arr2) [[(0, 1, 3, 0)]] …或者要获得这样的数组:
arr=np.array([[(0,1,3)]],dtype=[('A','i4'),('B','i4'),('C','u4')])
print(arr)
[[(0, 1, 3)]]
我想添加一个新列并获得如下数组:
arr2=np.array([[(0,1,3,0)]],dtype=[('A','i4'),('B','i4'),('C','u4'),('D','i4')])
print(arr2)
[[(0, 1, 3, 0)]]
…或者要获得这样的数组:
arr3=np.array([[(0,1,3)],[(11,22,33)]],dtype=[('A','i4'),('B','i4'),('C','u4')])
print(arr3)
[[( 0, 1, 3)]
[(11, 22, 33)]]
有人能帮我吗?你看到了吗?没有,我没有。谢谢您的回复。只要
d类型
匹配,您就可以使用通常的连接
。要添加新字段,请查看np.lib.recfunctions
functions。
import numpy as np
n = 4
m = 5
arr=np.array([[(3*(j*n + i),3*(j*n + i)+1,3*(j*n + i)+2) for i in range(n)] for j in range(m)],dtype=[('A','i4'),('B','i4'),('C','u4')])
c = np.array([[(i*j,) for i in range(1,n+1)] for j in range(1,m+1)],dtype=[('D','i4')])
arr2 = np.zeros(arr.shape,dtype=[('A','i4'),('B','i4'),('C','u4'),('D','i4')])
arr2[['A','B','C']] = arr[['A','B','C']]
arr2['D'] = c