一个错误:'数字str_“object没有属性”“decode”“”

2024-09-29 04:25:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Crab(一个开源推荐系统)上运行一个基于python3的测试。然后出现了一个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/Dennis/anaconda/lib/python3.5/site-packages/scikits/crab/datasets/base.py", line 201, in load_sample_movies
    data_songs[u_ix][i_ix] = float(rating)
ValueError: could not convert string to float: "b'3.0'"

我试图使用“decode()”来转换字符串,但它不起作用:

^{pr2}$

任何帮助都将不胜感激!在


Tags: inmost系统错误line开源callfloat
1条回答
网友
1楼 · 发布于 2024-09-29 04:25:36

问题是rating是字符串中的一个字符串,所以当您尝试将一个类似"b'3.0'"的字符串转换成一个float时,它会给出一个valueError,因为前面还有一个不能转换成float的{}。在

我想您需要在'3.0'前面进行字节编码,因此一种方法是在将其键入为float之前先计算rating将其从字符串转换为字节(但是要注意,^{}可能存在一些安全问题)。在

>>> type(eval(rating))
<class 'bytes'>
>>> data_songs[u_ix][i_ix] = float(eval(rating))

相关问题 更多 >