Напишите код, который делает то же самое, что изменить форму Numpy - PullRequest
1 голос
/ 06 февраля 2012

Мне нужно переписать некоторый код Python, чтобы он был совместим с Python 3. К сожалению, один из моих файлов импортирует Numpy, который пока недоступен для Python 3.Поэтому я пытаюсь заменить код Numpy обычным кодом Python.Но я не могу заменить функцию изменения формы Numpy.Reshape принимает массив в качестве входных данных и изменяет его (изменяет количество строк / столбцов).Например:

a = arange(10).reshape(2,5)

создает массив вида

[[0, 1, 2, 3, 4],
  5, 6, 7, 8, 9]

Моя идея заключалась в следующем коде:

list = range(10)
matrix = []
row = []
for i in range(2):
    for j in range 5:
        row.append(list[j])
    matrix.append(row)
    row = []

Но вложенные циклы не выглядяточень хорошо.Вы знаете лучший способ?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

для параметра Non-numpy (numpy может быть устрашающей зависимостью):

x = range(10)
mat_2x5 = [x[i*5:(i+1)*5] for i in range(2)]
1 голос
/ 06 февраля 2012

Часто задаваемые вопросы говорят, что он не поддерживает Python 3, но согласно следующему:

http://onpython3yet.com/packages/requirements?r=numpy%0D%0A

Возможно, вы захотите просто проверить, верно ли ваше предположение о статусе numpy.

...