将列表列表转换为python中的numpy数组

时间:2018-10-07 20:31:00

标签: python

我有一个列表列表(里面有元组),想要将其转换为numpy数组。

 Input: 
 [[1, 2, 3, (2, 4)], [3, 4, 8, 9], [2, 3, 5, (3, 7)]]
 Expected output:  
 array([[1, 2, 3, (2, 4)], [3, 4, 8, 9], [2, 3, 5, (3, 7)]])

我尝试了np.array和np.asarray,但是它引发了一个错误:用序列设置数组元素。 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将dtype设置为对象。

>>> import numpy as np
>>> np.array([[1, 2, 3, (2, 4)], [3, 4, 8, 9], [2, 3, 5, (3, 7)]], dtype=object)
array([[1, 2, 3, (2, 4)],
       [3, 4, 8, 9],
       [2, 3, 5, (3, 7)]], dtype=object)

请注意,首先可能没有充分的理由创建此数组。 numpy的主要优点是对数字数据的平面序列进行快速操作,使用dtype=object,您可以存储指向完整Python对象的指针-就像在列表中一样。

Here是解释object dtype的好答案。