标签: numpy
Numpy v 1.9包含两个看似相同的功能: 'flatten' 和 'ravel'
有什么区别?我何时可以选择一个与另一个相比将2-D np.array转换为1-D?
答案 0 :(得分:27)
<强>阿哈:强> 主要的功能差异是flatten是ndarray对象的方法,因此只能为真正的numpy数组调用。相反,ravel()是一个库级函数,因此可以在任何可以成功解析的对象上调用。例如,ravel()将在ndarray列表上工作,而flatten(显然)则胜出。
flatten
ravel()
另外,正如@jonrsharpe在他的评论中指出的那样,flatten方法总是返回一个副本,而ravel只会这样做&#34;如果需要的话。&#34;仍然不太确定如何做出这个决定。