将元组中的列表转换为numpy数组?
Posted
技术标签:
【中文标题】将元组中的列表转换为numpy数组?【英文标题】:Convert list in tuple to numpy array? 【发布时间】:2011-01-25 01:05:40 【问题描述】:我有列表元组。这些列表之一是分数列表。我想将分数列表转换为 numpy 数组,以利用 scipy 提供的预构建统计信息。
在这种情况下,元组称为“数据”
In [12]: type data[2]
-------> type(data[2])
Out[12]: <type 'list'>
In [13]: type data[2][1]
-------> type(data[2][1])
Out[13]: <type 'list'>
In [14]: type data[2][1][1]
-------> type(data[2][1][1])
Out[14]: <type 'float'>
In [15]: print data[2][1]
-------> print(data[2][1])
[16.66, 16.66, 16.66, 16.66, 5.5599999999999996, 16.699999999999999]
In [16]: print data[2][1][1]
-------> print(data[2][1][1])
16.66
一旦我存储了元组,我可以很容易地做到这一点吗?
【问题讨论】:
【参考方案1】:命令numpy.asarray
会将多个预先设置的可迭代容器(列表、元组等)变成一个numpy数组。
【讨论】:
+1 for numpy.asarray 它非常强大,只是一个注释。它是返回一个深拷贝还是仅仅返回输入数组的另一个视图? @linello:如果需要,它会复制,例如当输入是 Python 内置的序列类型时。 不,这并不总是有效,因此为-1。例如。 x = np.asarray((1,2,3,4,5)) 哈哈,这个问题和答案都是11岁! @Imago 在 numpy 1.19.2 和 python 3.10 上,以及这里的 numpy 的早期版本,asarray
does 适用于元组:您的测试代码给了我一个 numpy 数组。你看到了什么错误?以上是关于将元组中的列表转换为numpy数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何将元组列表转换为 pandas 数据框,以便每个元组的第一个值代表一列?