Jak zapisać listę jako tablicę numpy w Pythonie?

130

Czy można zbudować tablicę NumPy z listy Pythona?

Hossein
źródło

Odpowiedzi:

164

Przede wszystkim polecam zapoznanie się z samouczkiem Szybki start NumPy , który prawdopodobnie pomoże w odpowiedzi na te podstawowe pytania.

Możesz bezpośrednio utworzyć tablicę z listy jako:

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

Lub z listy zagnieżdżonej w ten sam sposób:

import numpy as np
a = np.array( [[2,3,4], [3,4,5]] )
Bryce Siedschlaw
źródło
21
import numpy jako np; i dodaj np. before array (np.array ([]); dla kogoś, kto może być zdezorientowany
Abhi
3
Ująłbym tę składnię nieco inaczej. A co powiesz na import numpy as npto a = np.array ( [[2,3,4],[3,4,5]] ) ?
SDsolar
40

masz na myśli coś takiego?

from numpy  import array
a = array( your_list )
Cédric Julien
źródło
16

Chcesz zapisać go jako plik?

import numpy as np

myList = [1, 2, 3]

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

... a potem przeczytaj:

myArray = np.load(open('array.npy', 'rb'))
eumiro
źródło
8

Możesz użyć numpy.asarray , na przykład, aby przekonwertować listę na tablicę:

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])
Bilal
źródło
4

Przypuszczam, że masz na myśli konwersję listy na tablicę numpy? Następnie,

import numpy as np

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

daje jako tablicę list b w kształcie podanym w przekształceniu.

Hadamard
źródło
0

Oto bardziej kompletny przykład:

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)

Mam nadzieję że to pomoże!!

SDsolar
źródło
0
import numpy as np 

... ## other code

zrozumienie listy

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

Przekonwertuj listę na tablicę numpy przy użyciu metody tablicowej określonej w bibliotece numpy.

t=np.array(t)

Może to być pomocne: https://numpy.org/devdocs/user/basics.creation.html

ThermoRestart
źródło
0

może:

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

wynik:

<class 'numpy.ndarray'>
Raazescythe
źródło