热线电话:13121318867

登录
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.0000
5
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子