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.
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.
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.
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.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With