¿Cómo guardar una lista como matriz numpy en python?


128

Necesito saber si es posible guardar una lista de Python como una matriz numPy.

Respuestas:


162

Si miras aquí, podría decirte lo que necesitas saber.

http://www.scipy.org/Tentative_NumPy_Tutorial#head-d3f8e5fe9b903f3c3b2a5c0dfceb60d71602cf93

Básicamente, puede crear una matriz a partir de una secuencia.

import numpy as np
a = np.array( [2,3,4] )

O de una secuencia de secuencias.

import numpy as np
a = np.array( [[2,3,4], [3,4,5]] )

21
importar numpy como np; y agregue np. before array (np.array ([]); para alguien que podría estar confundido
Abhi

3
Hubiera puesto esa sintaxis un poco diferente. ¿Qué tal import numpy as npentonces a = np.array ( [[2,3,4],[3,4,5]] ) ?
SDsolar



16

¿Quieres guardarlo como un archivo?

import numpy as np

myList = [1, 2, 3]

np.array(myList).dump(open('array.npy', 'wb'))

... y luego lee:

myArray = np.load(open('array.npy', 'rb'))

8

Puede usar numpy.asarray , por ejemplo, para convertir una lista en una matriz:

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

4

Supongo, ¿te refieres a convertir una lista en una matriz numpy? Luego,

import numpy as np

# b is some list, then ...    
a = np.array(b).reshape(lengthDim0, lengthDim1);

le da a como una matriz de la lista b en la forma dada en la remodelación.


0

Aquí hay un ejemplo más completo:

import csv
import numpy as np

with open('filename','rb') as csvfile:
     cdl = list( csv.reader(csvfile,delimiter='\t'))
     print "Number of records = " + str(len(cdl))

#then later

npcdl = np.array(cdl)

¡¡Espero que esto ayude!!


0
import numpy as np 

... ## other code

alguna comprensión de la lista

t=[nodel[ nodenext[i][j] ] for j in idx]
            #for each link, find the node lables 
            #t is the list of node labels 

Convierta la lista a una matriz numpy utilizando el método de matriz especificado en la biblioteca numpy.

t=np.array(t)

Esto puede ser útil: https://numpy.org/devdocs/user/basics.creation.html


0

tal vez:

import numpy as np
a=[[1,1],[2,2]]
b=np.asarray(a)
print(type(b))

salida:

<class 'numpy.ndarray'>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.