Python Numpy - невозможно получить массив для сохранения / загрузки должным образом - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь сохранить массив в одной программе и открыть его в другой, мой массив

[[   0. 2815. 3286. 4060. 2877. 2236.]
 [2798.    0.  471. 1245. 1586. 1931.]
 [3165.  367.    0. 1006. 1556. 1902.]
 [3724. 1268. 1739.    0.  551.  896.]
 [3344. 1573. 1575. 2030.    0.  515.]
 [2925. 1923. 1925. 2380.  641.    0.]]

, чтобы сохранить его, я использую:

def saveArray(array):

    import numpy as np
    np.save('postCodeArray', array)

Затем, чтобы открытья использую

def callFunction():

    import numpy as np

    array = np.load('postCodeArray.npy')  

    print(array)

Я получаю эту ошибку

«Файл» C: \ Users \ wf5931 \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ numpy \ lib\ format.py ", строка 696, в read_array повысить ValueError (" Массивы объектов не могут быть загружены, когда "

ValueError: Массивы объектов не могут быть загружены, когда allow_pickle = False"

Пожалуйста, помогите!

  • когда я попробовал его с подобной матрицей np.zeros ((4,4)), это, казалось, работало. V перепутано

1 Ответ

1 голос
/ 01 октября 2019

Из документации из numpy.save(file, arr, allow_pickle=True, fix_imports=True) и из полученного сообщения об ошибке попробуйте следующее:

def saveArray(array):

    import numpy as np
    np.save('postCodeArray', array, allow_pickle=True)

То же самое с загрузкой, документация ,numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII')

def callFunction():

    import numpy as np
    array = np.load('postCodeArray.npy', allow_pickle=True)  
    print(array)

Работает с Python 3.7 и Numpy 1.16.1.

Редактировать : используется массив.

A = np.asarray([[   0, 2815, 3286, 4060, 2877, 2236],
                [2798,    0,  471, 1245, 1586, 1931],
                [3165,  367,    0, 1006, 1556, 1902],
                [3724, 1268, 1739,    0,  551,  896],
                [3344, 1573, 1575, 2030,    0,  515],
                [2925, 1923, 1925, 2380,  641,    0]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...