Найти - Пользователи
Полная версия: Создание/заполнение двумерного массива без цикла
Начало » Python для новичков » Создание/заполнение двумерного массива без цикла
1
mvl
Здравствуйте. Я новичок в программировании на Питоне. Возможно мой вопрос очень простой. Но я не могу в нем разобраться. Интересует задача создания двумерного массива NumPy самым оптимальным по скорости способом без использования цикла (в стиле Питона, используя срезы и т.п.). Массивы размерностью 1000х1000 в первом массиве во всех строках одинаковые цифры начиная с нуля, во втором то же самое только в столбцах. Для примера привожу массивы 3х3.
array([[ 0.,  0.,  0.],
       [ 1.,  1.,  1.],
       [ 2.,  2.,  2.]])
array([[ 0.,  1.,  2.],
       [ 0.,  1.,  2.],
       [ 0.,  1.,  2.]])
Alen
>>> import numpy
>>> size = 3
>>> [numpy.array([[x]*size for x in range(size)]) for _ in range(2)]
[array([[0, 0, 0],
       [1, 1, 1],
       [2, 2, 2]]), array([[0, 0, 0],
       [1, 1, 1],
       [2, 2, 2]])]
>>> numpy.array([[x]*size for x in range(size)])
array([[0, 0, 0],
       [1, 1, 1],
       [2, 2, 2]])
>>> numpy.array([numpy.array([[x]*size for x in range(size)]) for _ in range(2)])
array([[[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2]],
       [[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2]])
kamisama
import numpy as np
a, b = np.mgrid[0:1000,0:1000]
mvl
Спасибо, буду разбираться в NumPy более подробно!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB