По сути, у меня есть список предварительно обработанных данных изображения (вложенный список) и соответствующее целевое значение в другом списке, и они заархивированы
np.array(dataset_x).shape
>>> (253,32,32,3)
np.array(dataset_y).shape
>>> (253,1)
dataset = dataset_x + dataset_y
Моя цель - перемешать их, разделить, затем обучить, протестировать и сохранить модель и набор данных. Я знаю, разделить, хранить и загружать CSV, используя panda
, я хотел использовать их, поэтому я использовал pd.DataFrame
In : pdata = pd.DataFrame(dataset, columns =['img' , 'target'])
In : np.array(dataset).shape
In : data.shape
>>>(253, 2)
Теперь проблема в том, что я ожидал этого
In : pdata['img'].shape
>>>(253,32,32,3)
но вместо этого я получил
In : pdata['img'].shape
>>>(253,)
In : pdata['img'][0].shape
>>>(32, 32, 3)
Я понял проблему, но не знал, что такое эффективный способ ее решения, в итоге преобразовал их в список с помощью values.tolist()
. Каков наилучший способ сохранить этот тип набора данных в dataframe
?
Вторая проблема, когда я пытаюсь сохранить dataframe
, используя to_csv()
, и загрузить их, используя read_csv()
. список изображений превращается в строку.
In : dataset= pd.read_csv(r"abc.csv")
In : dataset['img'].shape
>>> (202,)
In : dataset['img'][0].shape
>>>AttributeError: 'str' object has no attribute 'shape'
In : dataset['img']
>>> 0 [[[0.03137255 0.03137255 0.03137255]\n [0.015...
1 [[[0. 0. 0.]\n [0. 0. 0.]\n [0. 0. 0.]\n .....
2 [[[0. 0. 0.]\n [0. 0. 0.]\n [0. 0. 0.]\n .....
3 [[[0. 0. 0.]\n [0. 0. 0.]\n [0. 0. 0.]\n .....
как сохранить набор данных и извлечь его как вложенный список ??