Как создать очень большую матрицу в Python - PullRequest
0 голосов
/ 10 марта 2019

Предположим, вы хотите создать матрицу n*n со всеми.Это легко можно сделать с помощью np.ones.Однако, если n на уровне миллиона, это может занять слишком много памяти.Есть ли альтернатива для этого?

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

Вы можете использовать инфраструктуру fn.py. Он поддерживает бесконечные замедления последовательности. Проверьте https://github.com/kachayev/fn.py для примера.

0 голосов
/ 10 марта 2019

Краткий ответ: нет

Длинный ответ: это зависит от того, что вы хотите сделать с этой матрицей.

Если вы хотите сохранить логические значения, например, вы можете передать np.uint8 в качестве аргумента dtype и уменьшите использование памяти до четверти.Вы также можете использовать разреженную матрицу , где вы храните только индексы ваших не однозначных значений и просто предполагаете, что все остальные являются единицами.Я не уверен, работает ли версия scipy с матрицей «все единицы» или только со всеми нулями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...