Как сохранить изображение в столбце данных pandas? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть следующая строка кода.

v = chemcepterize_mol(mol, embed=10, res=0.2)

Функция chemcepterize_mol принимает несколько аргументов, таких как mol, embed, res.Эта функция chemcepterize_mol возвращает значение, которое я храню в v, который является обычной переменной.

Этот v на самом деле представляет собой вектор, представляющий трехмерное изображение.

Форма v выглядит следующим образом.

print(v.shape) 
(100, 100, 4)

100X100 пикселей изображения с 4 каналами.

Когда я показываю это изображение, оно выглядит так, как показано ниже.

plt.imshow(v[:,:,:3])

100x100x4 image

До этого момента он работал нормально.Но у меня есть несколько таких типов изображений (3-мерные векторы), которые мне нужно хранить в моем фрейме данных.Это означает, что мне нужно вызывать эту функцию chemcepterize_mol несколько раз, скажем, 10 раз, чтобы получить 10 изображений.

Для этого я написал цикл for следующим образом.

v = np.ndarray(shape=(100,100, 4,1))
for x in range(10):

   v[x]=chemcepterize_mol(data["mol"][x],embed=10,res=0.2)

Здесь data["mol"][x] - это запись x столбца mol в моем фрейме данных data,Для каждого из этих data["mol"][x] значений chemcepterize_mol даст мне другой трехмерный вектор, который мне нужно сохранить.

Я объявил v = np.ndarray(shape=(100,100, 4,1)), чтобы в его последнем измерении я мог сохранить все своивекторы (изображения), но это дало мне эту ошибку.

ValueError: could not broadcast input array from shape (100,100,4) into shape (100,4,1)

Как я могу сохранить все свои векторы в некотором массиве или предпочтительно в отдельном столбце фрейма данных pandas.

1 Ответ

0 голосов
/ 25 октября 2018

До сих пор неясно, как / где вы хотите сохранить свои матрицы.

Вы можете сохранить каждое изображение в файл, а затем загрузить каждое, когда вам это нужно, по ссылке.

Если это проблема формы, убедитесь, что форма данных для хранения соответствует «контейнеру».

Другой вариант - изменить данные, когда вы хотите их сохранить, и изменить форму, если вам нужно их использовать.

Удачи!

...