Я создаю этот массив:
A=itertools.combinations(range(6),2)
и мне нужно манипулировать этим массивом с помощью numpy, например:
A.reshape(..
Если размеры A велики, список команд (A) работает слишком медленно.
< h2>Как я могу «конвертировать» массив itertools в массив numpy?
Обновление 1:
Я попробовал решение hpaulj в этом конкретном случае ситуация немного медленнее, есть идеи?
start=time.clock()
A=it.combinations(range(495),3)
A=np.array(list(A))
print A
stop=time.clock()
print stop-start
start=time.clock()
A=np.fromiter(it.chain(*it.combinations(range(495),3)),dtype=int).reshape (-1,3)
print A
stop=time.clock()
print stop-start
Результаты:
[[ 0 1 2]
[ 0 1 3]
[ 0 1 4]
...,
[491 492 494]
[491 493 494]
[492 493 494]]
10.323822
[[ 0 1 2]
[ 0 1 3]
[ 0 1 4]
...,
[491 492 494]
[491 493 494]
[492 493 494]]
12.289898
Подробнее здесь: https://stackoverflow.com/questions/332 ... umpy-array