我正在使用pandas.Series和np.ndarray。

代码是这样的

>>> t
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])
>>> pandas.Series(t)
Exception: Data must be 1-dimensional
>>>

我试图将其转换为一维数组:
>>> tt = t.reshape((1,-1))
>>> tt
array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])

tt仍然是多维的,因为有两个'['。

那么,如何真正将ndarray转换为array?

搜索后,it says they are the same。但是在我的情况下,他们的工作方式不同。

最佳答案

另一种方法是使用np.ravel:

>>> np.zeros((3,3)).ravel()
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])
ravel优于flatten的重要性在于ravel仅在必要时复制数据,并且通常返回一个 View ,而flatten将始终返回数据的副本。

要使用整形来使数组变平坦:
tt = t.reshape(-1)

关于python - 如何将ndarray转换为array?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18200052/

10-12 21:45