python - multiplicar - ¿Cuál es la diferencia entre ndarray y array en numpy?
numpy tutorial español pdf (3)
Bueno, numpy.array
es solo una función de conveniencia para crear un ndarray
, no es una clase en sí misma.
También puede crear una matriz usando numpy.ndarray
, pero no es la manera recomendada. Del docstring de numpy.ndarray
:
Las matrices se deben construir usando
array
,zeros
oempty
... Los parámetros que se dan aquí se refieren a un método de bajo nivel (ndarray(...)
) para crear instancias de una matriz.
La mayoría de la carne de la implementación está en código C, aquí en multiarray , pero puedes comenzar a mirar las interfaces ndarray aquí:
https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py
¿Cuál es la diferencia entre ndarray
y array
en Numpy? ¿Y dónde puedo encontrar las implementaciones en el código fuente numpy?
Solo unas pocas líneas de código de ejemplo para mostrar la diferencia entre numpy.array y numpy.ndarray
Paso de calentamiento: construir una lista
a = [1,2,3]
Verifica el tipo
print(type(a))
Conseguirás
<class ''list''>
Construya una matriz (a partir de una lista) usando np.array
a = np.array(a)
O bien, puede omitir el paso de calentamiento, tener directamente
a = np.array([1,2,3])
Verifica el tipo
print(type(a))
Conseguirás
<class ''numpy.ndarray''>
que te dice que el tipo de la matriz numpy es numpy.ndarray
También puedes verificar el tipo por
isinstance(a, (np.ndarray))
y obtendrás
True
Las siguientes dos líneas le darán un mensaje de error
np.ndarray(a) # should be np.array(a)
isinstance(a, (np.array)) # should be isinstance(a, (np.ndarray))
numpy.array
es una función que devuelve numpy.ndarray
. No hay ningún tipo de objeto numpy.array.