2019-03-04
阅读量:
765
怎么推荐列表中获取单个整数数据类型而不是对象?
我需要一个像预测= [[1,2,3],[4,5,6]]的数组,但我得到预测= [1,2,3] [4,5,6]。在1,2,3不是整数的情况下,我将它们作为对象'[1,2,3]'。
我需要在metrics.mapk中使用它
metrics.mapk(actual, predicted, 3)
我有一个带有预测列的csv文件,预测列包含推荐项目,第一行为[1,2,3],第二行为[4,5,6],依此类推。
我尝试使用以下代码将推荐列表转换为整数
predicted = np.array(predicted).reshape(250,1)
上面的代码返回一个对象数组,如下所示
[['[1,2,3]'],['[4,5,6]']] dtype对象
但我想得到[[1,2,3],[4,5,6]]。
我也在尝试阅读文件时尝试过
predicted = pd.read_csv('model.csv', dtype = {'predicted': np.int32})
返回ValueError:int()的基数为10的无效文字:'[1,2,3]'
是否可以将像'[1,2,3]'这样的对象转换为列表[1,2,3]?
解决办法:使用ast以列表的字符串表示转换为整数的列表:
import ast
a='[1,2,3]'
l=ast.literal_eval(a)
print l
输出是 [1,2,3]
在你的情况下:
predicted=[ast.literal_eval(a) for a in predicted]






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论