Tag: numpy

Numpy: проверьте, содержит ли массив float целые числа

В Python можно проверить, содержит ли float целочисленное значение, используя n.is_integer() , на основе этого QA: Как проверить, является ли значение float целым числом . Имеет ли numpy аналогичную операцию, которая может применяться к массивам? Что-то, что позволило бы: >>> x = np.array([1.0 2.1 3.0 3.9]) >>> mask = np.is_integer(x) >>> mask array([True, False, True, […]

Сравнение производительности Fortran, Numpy, Cython и Numexpr

У меня есть следующая функция: def get_denom(n_comp,qs,x,cp,cs): ''' len(n_comp) = 1 # number of proteins len(cp) = n_comp # protein concentration len(qp) = n_comp # protein capacity len(x) = 3*n_comp + 1 # fit parameters len(cs) = 1 ''' k = x[0:n_comp] sigma = x[n_comp:2*n_comp] z = x[2*n_comp:3*n_comp] a = (sigma + z)*( k*(qs/cs)**(z-1) )*cp […]

Широковещательная передача с несколькими размерами

Я немного смущен правилами вещания numpy. Предположим, вы хотите выполнить осевое скалярное произведение массива более высокого размера, чтобы уменьшить размер массива на единицу (в основном для выполнения взвешенного суммирования вдоль одной оси): from numpy import * A = ones((3,3,2)) v = array([1,2]) B = zeros((3,3)) # V01: this works B[0,0] = v.dot(A[0,0]) # V02: this […]

python ленивые переменные? или, отложенные дорогостоящие вычисления

У меня есть набор массивов, которые очень большие и дорогие для вычисления, и не все обязательно будут нужны моему коду при любом запуске. Я хотел бы сделать их объявление необязательным, но в идеале без необходимости переписывать весь код. Пример того, как это происходит сейчас: x = function_that_generates_huge_array_slowly(0) y = function_that_generates_huge_array_slowly(1) Пример того, что я хотел […]

Как удалить строку в массиве numpy, который содержит нуль?

Я пытаюсь написать функцию для удаления всех строк, в которых есть нулевое значение. Это не из моего кода, а пример идеи, которую я использую: import numpy as np a=np.array(([7,1,2,8],[4,0,3,2],[5,8,3,6],[4,3,2,0])) b=[] for i in range(len(a)): for j in range (len(a[i])): if a[i][j]==0: b.append(i) print 'b=', b for zero_row in b: x=np.delete(a,zero_row, 0) print 'a=',a и это […]

Как вы создаете многомерный массив numpy из итерируемого кортежей?

Я хотел бы создать массив numpy из iterable, который дает кортежи значений, например запрос к базе данных. Вот так: data = db.execute('SELECT col1, col2, col3, col4 FROM data') A = np.array(list(data)) Есть ли способ более быстрый способ сделать это, не преобразовывая итерабельность в список в первую очередь?

Найти суммы диагоналей в numpy (быстрее)

У меня есть несколько массивов с множеством массивов: array([[0, 0, 0, 1, 0, 0, 0, 0], [1, 0, 0, 0, 0, 1, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1], [0, 1, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 1, 0, 0, […]

как читать выведенную fortran двоичную матрицу NxNxN в Python

Я написал матрицу в Фортране следующим образом: real(kind=kind(0.0d0)), dimension(256,256,256) :: dense […CALCULATION…] inquire(iolength=reclen)dense open(unit=8,file=fname,& form='unformatted',access='direct',recl=reclen) write(unit=8,rec=1)dense(:,:,:) close(unit=8) Я хочу прочитать это снова на Python. Все, что я видел, это для 2D NxN массивов, а не для трехмерных массивов. В Matlab я могу прочитать это как: fid = fopen(nfilename,'rb'); mesh_raw = fread(fid,ndim*ndim*ndim,'double'); fclose(fid); mesh_reshape = reshape(mesh_raw,[ndim […]

Более быстрый способ вычисления суммы квадратов разницы между изображением (M, N) и шаблоном (3, 3) для сопоставления шаблонов?

Я реализую алгоритм синтеза текстур, как описано здесь . Для этого мне нужно рассчитать Sum of Squared Differences, метрику для оценки ошибки между template и разными позициями по image . Я выполняю медленную рабочую реализацию следующим образом: total_weight = valid_mask.sum() for i in xrange(input_image.shape[0]): for j in xrange(input_image.shape[1]): sample = image[i:i + window, j:j + […]

Что делает matplotlib `imshow (интерполяция = 'ближайший')` делать?

Я использую функцию imshow с interpolation='nearest' на изображении в градациях серого и получаю красивое цветное изображение в результате, похоже, что для меня какая-то цветовая сегментация, что именно происходит там? Я также хотел бы получить что-то вроде этого для обработки изображений, есть ли какая-то функция на массивах numpy, например, interpolate('nearest') ? EDIT: Пожалуйста, поправьте меня, если […]

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