如何将 numpy 数组的数组存储在 csv 文件中?
How to store array of numpy array in csv file?
我有一个图像名称、图像路径及其对应的 cnn 特征向量(一个 numpy 数组)。并且有很多图像,这意味着我有一个名称、路径、向量的列表(每个都是维度为 (1, 2048, 14, 14) 的 numpy 数组,数据类型为 float32)。我必须以有效的方式存储和访问。我正在考虑将其存储在 csv 文件中。当我这样做时,我无法从 str 转换回 numpy 数组。请告诉我如何进行此操作,谢谢。
data = pd.DataFrame(columns=['name', 'path', 'vector'])
data['name'] = image_names
data['path'] = image_paths
for i in range(len(image_paths)):
out = encoder(image_paths[i] #(1,2048,14,14)
data['vector'][i] = out
data.to_csv('encoding.csv', sep = ',', na_rep='Unknown')
dr =pd.read_csv('encoding.csv')
for i in range(dr.shape[0]):
c = dr['vector'][i]
c 是一个 str 对象。不确定如何将其转换为 numpy 数组。
您可以使用 numpy.save
保存 numpy 数组,如 docs here 所示。您可以将图像名称和图像路径保存为 .json
文件(并且只需将 .npy
文件的名称与 .json
文件的名称相同,以便于搜索) .
我有一个图像名称、图像路径及其对应的 cnn 特征向量(一个 numpy 数组)。并且有很多图像,这意味着我有一个名称、路径、向量的列表(每个都是维度为 (1, 2048, 14, 14) 的 numpy 数组,数据类型为 float32)。我必须以有效的方式存储和访问。我正在考虑将其存储在 csv 文件中。当我这样做时,我无法从 str 转换回 numpy 数组。请告诉我如何进行此操作,谢谢。
data = pd.DataFrame(columns=['name', 'path', 'vector'])
data['name'] = image_names
data['path'] = image_paths
for i in range(len(image_paths)):
out = encoder(image_paths[i] #(1,2048,14,14)
data['vector'][i] = out
data.to_csv('encoding.csv', sep = ',', na_rep='Unknown')
dr =pd.read_csv('encoding.csv')
for i in range(dr.shape[0]):
c = dr['vector'][i]
c 是一个 str 对象。不确定如何将其转换为 numpy 数组。
您可以使用 numpy.save
保存 numpy 数组,如 docs here 所示。您可以将图像名称和图像路径保存为 .json
文件(并且只需将 .npy
文件的名称与 .json
文件的名称相同,以便于搜索) .