【发布时间】:2016-02-16 04:05:31
【问题描述】:
看来我有 NumPy 数组列表格式的数据 (type() = np.ndarray):
[array([[ 0.00353654]]), array([[ 0.00353654]]), array([[ 0.00353654]]),
array([[ 0.00353654]]), array([[ 0.00353654]]), array([[ 0.00353654]]),
array([[ 0.00353654]]), array([[ 0.00353654]]), array([[ 0.00353654]]),
array([[ 0.00353654]]), array([[ 0.00353654]]), array([[ 0.00353654]]),
array([[ 0.00353654]])]
我正在尝试将它放入一个 polyfit 函数中:
m1 = np.polyfit(x, y, deg=2)
但是,它返回错误:TypeError: expected 1D vector for x
我假设我需要将我的数据扁平化为:
[0.00353654, 0.00353654, 0.00353654, 0.00353654, 0.00353654, 0.00353654 ...]
我尝试了一个通常适用于列表列表的列表理解,但正如预期的那样,这没有奏效:
[val for sublist in risks for val in sublist]
最好的方法是什么?
【问题讨论】:
-
@Divakar 谢谢!为我工作!
-
concatenate 假定所有数组的大小相同,您可能总是这样,否则请查看 stackoverflow.com/a/406822/1240268 之类的内容。
-
数组的长度都一样吗?
-
不确定是否重复但肯定相关@987654322@。
标签: python arrays numpy list-comprehension