如何连接用dtype创建的元组数组?

我试图连接以这种形式创建的两个数组:

data1 = numpy.array([(1,2,3),(4,5,6)], dtype={'names':['a', 'b', 'c'], 'formats':[int, float, float]})
data2 = numpy.array([(11,22),(44,55)], dtype={'names':['d', 'e'], 'formats':[int, float]})

我想以这种形式结束:

array([(1, 2., 3., 11, 22.), (4, 5., 6., 44, 55.)],
      dtype=[('a', '<i8'), ('b', '<f8'), ('c', '<f8'), ('d', '<i8'), ('e', '<f8')])

我怎样才能做到这一点?

这段代码几乎可以带我到那里,但是我无法弄清楚如何连接dtypes:

  m = []
  for i,j in zip(data1, data2):
    print(i,j)
    m.append( (*i,*j) )

额外的问题:

用熊猫更容易进行这些操作吗?

我基本上想要具有命名字段和类型的数组,我可以轻松地将其绘制,输出到CSV文件(带有标题),并且可以在需要时轻松地向其中添加额外的列和行。 (例如:从其他列中计算一个新列,从另一个数据集中添加行)

我愿意根据需要更改代码以不同的方式制作数组,但仍然想知道如何处理这些dtype数组...

评论