将熊猫数据框列转换为浮点数的问题

时间:2021-01-21 20:02:35

标签: python pandas machine-learning deep-learning

我正在尝试构建一个名人相似程序,使用 VggFace 和 IMDb 名人面孔数据库,我计算每个面孔在数据库中的嵌入,并将其存储在 Pandas 数据框中。但是,当我尝试加载该嵌入后记以使用它来计算余弦距离时,我无法使其工作,显然它是作为字符串内的列表存储的(即 "[ 1.3 -1 .... ] )等等”。所以我必须提问:

  • 我怎样才能看到这些向量是如何真正存储的?当我使用 Excel 查看数据时,它似乎只是 好的。

  • 如何将这个字符串转换为浮点数列表;我尝试使用 ast,但没有用。

我的代码太长了,不知道要不要把dataframe上传到网上让大家看看。

这是使用 df.to_dict() 的一行: 518 : '[ 3.8515975 0.4580283 1.964929 ... -6.336113 1.31456 4.2759323]'

我正在尝试遍历数据帧,并使用以下代码将每一行与用户面部的嵌入表示相乘:

vect = calculVecteur('imagesUtilisateur/test.jpg',model)
vect = list(map(float, vect))
meta_data_imdb = pd.read_csv("resources/vectorisation/imdb_metadata_v.csv")
meta_data_imdb['distance'] = meta_data_imdb['vecteur'].apply(lambda x: calculerDistance(x,vect))

calculVecteur() 使用 Vgg 模型计算用户图像的嵌入,然后我使用 calculerDistance() 计算余弦距离 方法。

在这里使用调试器是我得到的:

https://imgur.com/a/B95VjdT

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果问题是类型转换,请尝试 pd.to_numeric 它对我有用,例如,如果您想将列列表转换为数字;

<div contenteditable="true" onkeypress="checkLength(event)"></div>
<span></span>

您也可以通过指定一列而不是列表来仅对一列执行此操作。