我有一个列表列表(里面有元组),想要将其转换为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,但是它引发了一个错误:用序列设置数组元素。 感谢您的帮助!
答案 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
的好答案。