如何将列表中的元组列表转换为一维数组?

时间:2019-02-04 18:31:04

标签: python arrays list tuples

我在列表中有一个多维数据集的多维数组,其中包含不同大小的元组,我试图将其转换为一维数组,但是我一直遇到错误。如果我的列表如下:

rain2 = [[(298.0, 345.0, 412.0)], [(421.0, 203.0)], [(491.0,)]]

如何将其转换为一维数组? 我尝试过:

chain = np.asarray(rain2, dtype=float)

但是我得到了错误:

ValueError: setting an array element with a sequence.

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以结合使用np.ravelnp.hstack将其转换为一维数组:

import numpy as np

rain2 = [[(298.0, 345.0, 412.0)], [(421.0, 203.0)], [(491.0)]]
chain = np.hstack(np.ravel(rain2))
print(chain)

输出:

[298. 345. 412. 421. 203. 491.]

答案 1 :(得分:0)

也请在下面进行检查:

np.reshape(chain, (chain.size,1))