Tag: Массивы

Нарезка массива NumPy в цикле

Мне нужно хорошее объяснение (ссылка), чтобы объяснить NumPy нарезки внутри (для) циклов. У меня три случая. def example1(array): for row in array: row = row + 1 return array def example2(array): for row in array: row += 1 return array def example3(array): for row in array: row[:] = row + 1 return array Простой случай: […]

Питонический способ вычисления смещений массива

Я пытаюсь вычислить начало и смещение массивов переменных размеров и сохранить их в словаре. Вот вероятный непифонный способ, которым я достигаю этого. Я не уверен, должен ли я искать карту, функцию лямбда или список, чтобы сделать код более питоническим. По сути, мне нужно вырезать куски массива на основе общего размера и хранить в словаре слова […]

Могу ли я заставить элементы массива python иметь определенный размер?

Я использую модули массивов для хранения значительных чисел (много гигабайт) беззнаковых 32-битных целых чисел. Вместо того, чтобы использовать 4 байта для каждого элемента, python использует 8 байтов, как указано array.itemsize, и проверяется pympler. например: >>> array("L", range(10)).itemsize 8 У меня есть большое количество элементов, поэтому я бы выиграл от их хранения в пределах 4 байтов. […]

Сгенерируйте 1d numpy с кусками произвольной длины

Мне нужно создать 1D-массив, где повторяющиеся последовательности целых чисел разделяются случайным числом нулей. До сих пор я использую следующий код для этого: from random import normalvariate regular_sequence = np.array([1,2,3,4,5], dtype=np.int) n_iter = 10 lag_mean = 10 # mean length of zeros sequence lag_sd = 1 # standard deviation of zeros sequence length # Sequence of […]

Как удалить подмножество 2d-массива?

У меня есть массив 800×800, и я хочу анализировать только элементы в его части. Мне нужен новый массив без элементов среза [5: -5,5: -5]. Не обязательно возвращать массив 2d, плоский массив или список. Пример: import numpy >>> a = numpy.arange(1,10) array([1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> a.shape = (3,3) array([[1, 2, […]

Вычислить x ** k с x, k – массивы произвольной размерности

У меня есть два массива numpy: один массив x с формой (n, a0, a1, …) и один массив k с формой (n, b0, b1, …) . Я хотел бы вычислить и массив экспонент, чтобы выход имел размерность (a0, a1, …, b0, b1, …) и out[i0, i1, …, j0, j1, …] == prod(x[:, i0, i1, …] […]

Нарезка n-мерного массива с использованием списка индексов

Скажем, у меня 3-мерная матрица numpy: np.random.seed(1145) A = np.random.random((5,5,5)) и у меня есть два списка индексов, соответствующих 2-му и 3-му измерениям: second = [1,2] third = [3,4] и я хочу выбрать элементы в массиве numpy, соответствующие A[:][second][third] поэтому форма (5,2,2) решетки будет (5,2,2) и A[:][second][third].flatten() будет эквивалентно: In [226]: for i in range(5): for […]

Суммирование только последовательных значений в массиве python

Я новичок в python (и даже программирую!), Поэтому я постараюсь быть настолько ясным, насколько могу, чтобы объяснить свой вопрос. Для вас, ребята, это может быть легко, но я пока не нашел удовлетворительного результата. Вот проблема: У меня есть массив с отрицательными и положительными значениями, скажем: x = numpy.array([1, 4, 2, 3, -1, -6, -6, 5, […]

Нарезка 3d numpy-массива возвращает странную форму

Если я нарезаю 2d-массив с набором координат >>> test = np.reshape(np.arange(40),(5,8)) >>> coords = np.array((1,3,4)) >>> slice = test[:, coords] то мой срез имеет форму, которую я ожидаю >>> slice.shape (5, 3) Но если я повторю это с помощью 3d-массива >>> test = np.reshape(np.arange(80),(2,5,8)) >>> slice = test[0, :, coords] тогда форма теперь >>> slice.shape […]

Вопрос по индексированию Numpy.array

Я пытаюсь создать «маску» numpy.array, указав определенные критерии. Python даже имеет хороший синтаксис для чего-то вроде этого: >> A = numpy.array([1,2,3,4,5]) >> A > 3 array([False, False, False, True, True]) Но если у меня есть список критериев, а не диапазон: >> A = numpy.array([1,2,3,4,5]) >> crit = [1,3,5] Я не могу этого сделать: >> A […]

Python - лучший язык программирования в мире.