Tag: numpy

Массивная матрица масок на основе индекса

Как маскировать массив на основе фактических значений индекса? То есть, если у меня есть матрица 10 x 10 x 30, и я хочу замаскировать массив, когда первый и второй индексы равны друг другу. Например, [1, 1 , :] следует маскировать, потому что 1 и 1 равны друг другу, но [1, 2, :] не должны, потому […]

Как вычислить дисперсию столбца разреженной матрицы в Scipy?

У меня есть большая scipy.sparse.csc_matrix и хочу ее нормализовать. Это вычитает среднее значение столбца из каждого элемента и делит на стандартное отклонение столбца (std) i. scipy.sparse.csc_matrix имеет .mean() но есть ли эффективный способ вычисления дисперсии или std?

подсчет вхождения массивов в многомерных массивах в python

У меня есть следующие типы массивов: a = array([[1,1,1], [1,1,1], [1,1,1], [2,2,2], [2,2,2], [2,2,2], [3,3,0], [3,3,0], [3,3,0]]) Я хотел бы подсчитать количество вхождений каждого типа массива, например, [1,1,1]:3, [2,2,2]:3, and [3,3,0]: 3 Как я могу достичь этого в python? Возможно ли использование цикла for и подсчет в словаре? Он должен быть быстрым и должен занимать […]

Альтернатива `numpy.tile` для периодической маски

У меня есть изображение, хранящееся в массиве uint8 s, формы (planes, rows, cols) . Мне нужно сравнить его с значениями, хранящимися в маске, также uint8 s, формы (mask_rows, mask_cols) . Хотя изображение может быть очень большим, маска обычно маленькая, обычно (256, 256) и должна быть разбита на image . Чтобы упростить код, rows = 100 […]

Почему X.dot (XT) требует столько памяти в numpy?

X – матрица с трещиной, где p много больше n. Скажем, n = 1000 и p = 500000. Когда я запускаю: X = np.random.randn(1000,500000) S = X.dot(XT) Выполнение этой операции заканчивается тем, что занимает большую часть памяти, несмотря на то, что результат имеет размер 1000 x 1000. Использование памяти возвращается после завершения операции. Есть ли […]

Подкласс numpy ndarray не работает должным образом

`Привет, все. Я обнаружил, что при подклассификации ndarray существует странное поведение. import numpy as np class fooarray(np.ndarray): def __new__(cls, input_array, *args, **kwargs): obj = np.asarray(input_array).view(cls) return obj def __init__(self, *args, **kwargs): return def __array_finalize__(self, obj): return a=fooarray(np.random.randn(3,5)) b=np.random.randn(3,5) a_sum=np.sum(a,axis=0,keepdims=True) b_sum=np.sum(b,axis=0, keepdims=True) print a_sum.ndim #1 print b_sum.ndim #2 Как вы видели, аргумент keepdims не работает для […]

Скрытый семантический анализ в несоответствии Python

Я пытаюсь следовать статье Википедии о скрытой семантической индексации в Python, используя следующий код: documentTermMatrix = array([[ 0., 1., 0., 1., 1., 0., 1.], [ 0., 1., 1., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0., 1., 1.], [ 0., 0., 0., 1., 0., 0., 0.], [ 0., 1., 1., 0., 0., 0., […]

Как индексировать несколько элементов массива с интервалами в Python

Предположим, что у меня есть список: import numpy as np a = [2, 4, 6, 8, …, 1000] # total 500 elements b = np.array(a) # numpy version Я хочу получить от 1-го до 100-го, от 201-го до 300-го, от 401-го до 500-го элементов и превратить их в новый массив. С этой целью я пробовал […]

Обрезайте ряды и столбцы матрицы, но держите их квадратными

У меня квадратная матрица с> 1000 строк и столбцов. Во многих областях на «границе» есть nan , например: grid = [[nan, nan, nan, nan, nan], [nan, nan, nan, nan, nan], [nan, nan, 1, nan, nan], [nan, 2, 3, 2, nan], [ 1, 2, 2, 1, nan]] Теперь я хочу исключить все строки и столбцы, где […]

как инициализировать целые массивы numpy с фиксированным размером в Cython?

Как можно сделать пустые массивы numpy типа int в Cython? Следующее работает для меня для двойных или плавающих массивов: # make array of size N of type float cdef np.ndarray[float, ndim=1] myarr = np.empty(N) # make array of size N of type int cdef np.ndarray[int, ndim=1] myarr = np.empty(N) Однако, если я попытаюсь сделать то […]

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