Numpy v 1.9包含两个看似相同的功能: 'flatten' 和 'ravel'
有什么不同?什么时候我可以选择一个与另一个将2-D np.array转换为1-D?
Bry*_*n P 32
Aha:
主要的功能差异是ndarray对象flatten的方法,因此只能调用真正的numpy数组.相反,它ravel()是一个库级函数,因此可以在任何可以成功解析的对象上调用.例如,ravel()将在ndarrays列表上工作,而flatten(显然)则不会.
另外,正如@jonrsharpe在他的评论中指出的那样,flatten方法总是返回一个副本,而ravel只在"如果需要的话"中这样做.仍不太确定如何做出这一决定.