Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert ndarray to array?

I'm using pandas.Series and np.ndarray.

The code is like this

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

And I trie to convert it into 1-dimensional array:

>>> tt = t.reshape((1,-1)) >>> tt array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]) 

tt is still multi-dimensional since there are double '['.

So how do I get a really convert ndarray into array?

After searching, it says they are the same. However in my situation, they are not working the same.

like image 729
SolessChong Avatar asked Aug 13 '13 03:08

SolessChong


People also ask

Is Ndarray an array?

An ndarray is a (usually fixed-size) multidimensional container of items of the same type and size. The number of dimensions and items in an array is defined by its shape , which is a tuple of N non-negative integers that specify the sizes of each dimension.

Is Ndarray and array the same?

Arrays are the main data structure used in machine learning. In Python, arrays from the NumPy library, called N-dimensional arrays or the ndarray, are used as the primary data structure for representing data.

How do you convert Ndarray to Ndarray?

You can convert a list to a NumPy array by passing a list to numpy. array() . The data type dtype of generated numpy. ndarray is automatically determined from the original list but can also be specified with the dtype parameter.


1 Answers

An alternative is to use np.ravel:

>>> np.zeros((3,3)).ravel() array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]) 

The importance of ravel over flatten is ravel only copies data if necessary and usually returns a view, while flatten will always return a copy of the data.

To use reshape to flatten the array:

tt = t.reshape(-1) 
like image 52
Daniel Avatar answered Sep 22 '22 17:09

Daniel