如何将元组列表转换为np数组,其中每个元素都是python中的元组

时间:2020-04-19 13:12:47

标签: python numpy

我想用python在np元组数组中转换一个元组列表列表。

例如,现在我有:

[[(a,b),(b,c),(d,e)]
[(f,g),(h,i),(j,k)]]

我需要元组的numpy数组:

[[(a,b) (b,c) (d,e)] [(f,g) (h,i) (j,k)]]

形状为(2,3)

1 个答案:

答案 0 :(得分:0)

您可以这样做,但是您对dtype非常小心。

In [4]: l = [[(0.0, 1.0), (3.0, 4.1)], [(5.4, 6.6), (7.3, 8.8)] ]                                        

In [5]: np.asarray(l, dtype=np.dtype('f, f'))                                                            
Out[5]: 
array([[(0. , 1. ), (3. , 4.1)],
       [(5.4, 6.6), (7.3, 8.8)]], dtype=[('f0', '<f4'), ('f1', '<f4')])

np.dtype('f, f')中可以看到,元组中只能有两个元素

您可以在此处了解更多信息:Structured arrays