NumPy массив2 применяется к огромному массиву, пропускает центральные значения, (... в середине) - PullRequest
0 голосов
/ 03 июля 2018

У меня есть массив размера (3, 3, 19, 19), который я применил flatten, чтобы получить массив размером 3249.

Мне пришлось записать эти значения в файл вместе с некоторыми другими данными, поэтому я сделал следующее, чтобы получить массив в виде строки.

np.array2string(arr.flatten(), separator=', ', suppress_small=False)

Однако, когда я проверял содержимое файлов после записи, Я заметил, что у меня ,... , в середине массива, как показано ниже

[ 0.09720755, -0.1221265 , 0.08671697, ..., 0.01460444, 0.02018792, 0.11455765]

Как получить строку массива со всеми элементами, чтобы потенциально получить все данные в файл?

1 Ответ

0 голосов
/ 03 июля 2018

Насколько я понимаю array2string, это просто для возврата "красивого" строкового представления массива.

numpy.ndarray.tofile может быть лучшим вариантом для ваших целей - https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tofile.html. Он должен записать все содержимое массива в данный файл.

with open("test.bin", "wb") as f:
    arr.flatten().tofile(f)

И вы можете, конечно, прочитать его обратно с помощью numpy.fromfile - https://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html.

with open("test.bin", "rb") as f:
    arr = numpy.fromfile(f)
...