Как сохранить список в виде массива numpy в Python?

128

Мне нужно знать, можно ли сохранить список Python в виде массива numPy.

Хоссейн
источник

Ответы:

162

Если вы посмотрите сюда, это может сказать вам то, что вам нужно знать.

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

По сути, вы можете создать массив из последовательности.

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

Или из последовательности последовательностей.

import numpy as np
a = np.array( [[2,3,4], [3,4,5]] )
Брайс Зидшлав
источник
21
импортировать numpy как np; и добавьте np. перед array (np.array ([]); для тех, кто может запутаться
Абхи
3
Я бы сформулировал этот синтаксис несколько иначе. Как насчет import numpy as npтогда a = np.array ( [[2,3,4],[3,4,5]] ) ?
SDsolar
39

Вы имеете в виду что-то вроде этого ?

from numpy  import array
a = array( your_list )
Седрик Жюльен
источник
16

Вы хотите сохранить это как файл?

import numpy as np

myList = [1, 2, 3]

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

... а затем прочтите:

myArray = np.load(open('array.npy', 'rb'))
eumiro
источник
8

Вы можете использовать numpy.asarray , например, для преобразования списка в массив:

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])
Билал
источник
4

Я полагаю, вы имеете в виду преобразование списка в массив numpy? Затем,

import numpy as np

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

дает вам a как массив списка b в форме, заданной в reshape.

Адамара
источник
0

Вот более полный пример:

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)

Надеюсь это поможет!!

SDsolar
источник
0
import numpy as np 

... ## other code

некоторое понимание списка

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

Преобразуйте список в массив numpy, используя метод массива, указанный в библиотеке numpy.

t=np.array(t)

Это может быть полезно: https://numpy.org/devdocs/user/basics.creation.html

ThermoRestart
источник
0

может быть:

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

вывод:

<class 'numpy.ndarray'>
Raazescythe
источник