【问题标题】:Convert a list of lists to numpy array in python在python中将列表列表转换为numpy数组
【发布时间】:2019-03-12 13:20:51
【问题描述】:

我有一个列表列表(里面有元组),想把它转换成一个 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,但它会引发错误:使用序列设置数组元素。 感谢您的帮助!

【问题讨论】:

  • 但是是(2, 4) 还是dtype int32
  • 哦,我应该删除它。 dtype 对我来说并不重要

标签: python


【解决方案1】:

您可以将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 的好答案。

【讨论】:

    猜你喜欢
    • 2017-03-08
    • 2015-01-07
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    相关资源
    最近更新 更多