alvas alvas - 4 days ago 4
Python Question

How to construct a ndarray from a numpy array? python

I can't seem to convert it into an

ndarray
in numpy, i've read http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html but it didn't show me how i can convert my input data as shown below into an
ndarray
.

How to construct a ndarray from a numpy array or a list of integer lists?
*What's the difference between ndarray and array?* I could just use an
array
type right?

I have a list of integer counts like this

[[1, 2, 4, 1, 5],
[6, 0, 0, 0, 2],
[0, 0, 0, 1, 0]]


And i manage to use this code to create a
np.array
as shown in http://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html#numpy.array

import numpy as np
x = [[1, 2, 4, 1, 5],
[6, 0, 0, 0, 2],
[0, 0, 0, 1, 0]]
print np.array(x)


[out]:

[[1 2 4 1 5]
[6 0 0 0 2]
[0 0 0 1 0]]


But I can't change it into a
np.ndarray
with this code:

import numpy as np
x = [[1, 2, 4, 1, 5],
[6, 0, 0, 0, 2],
[0, 0, 0, 1, 0]]
print np.ndarray(x)


I got an error:

Traceback (most recent call last):
File "/home/alvas/workspace/sklearntut/test.py", line 7, in <module>
print np.ndarray(x)
TypeError: an integer is required


How do I create a np.ndarray with the list of integer counts i've got? What integer is the TypeError talking about?

Answer

An ndarray is a NumPy array.

>>> x = np.array([1, 2, 3])
>>> type(x)
<type 'numpy.ndarray'>

The difference between np.ndarray and np.array is that the former is the actual type, while the latter is a flexible shorthand function for constructing arrays from data in other formats. The TypeError comes your use of np.array arguments to np.ndarray, which takes completely different arguments (see docstrings).