Python 如何将ndarray转换为数组?

Python 如何将ndarray转换为数组?,python,numpy,multidimensional-array,Python,Numpy,Multidimensional Array,我正在使用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((

我正在使用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仍然是多维的,因为存在双'['

那么如何将数据数组真正转换为数组呢?

搜索后,。但是在我的情况下,它们的工作方式不同。

使用:

编辑:如前所述,在任何情况下都会返回输入的副本。要避免复制,请使用@Ophion建议的
.ravel

另一种方法是使用:

ravel
相对于
flatte
的重要性在于
ravel
仅在必要时复制数据,通常返回视图,而
flatte
将始终返回数据的副本

要使用“重塑”展平阵列,请执行以下操作:

tt = t.reshape(-1)

这是解决双括号问题的唯一方法,即转换为nd矩阵的1D数组。

.Flatte
返回一个副本,而不是视图,因此它通常不应该是您的第一选择。@Jaime:谢谢,我已经注意到了。(和+1对Ophion指出
。ravel
…显然,我没有充分使用NumPy。)
>>> np.zeros((3,3)).ravel()
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])
tt = t.reshape(-1)
tt = array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])

oneDvector = tt.A1