在给定的数据报列I中转换三个数据报格式:
数据报:
user_id item_id ratings
3 2 3
3 3 4
1 3 1
2 1 4
用户数量=3
项目编号=3
评分=0到5
字典=
^{pr2}$例如
{1:[0,0,1], 2:[4,0,0], 3:[0,3,4]}
所以,目前我能做的就是输出如下:
{1:{3:1}, 2:{1:4}, 3:{2:3, 3:4}} #{user_id:{item_id:rating}.....}
以上输出的代码如下:
import pandas as pd
data = {}
cols = ['user_id', 'item_id', 'ratings']
pf = pd.read_csv('filename', sep='\t', names= cols)
for user, item, rate in pf.values: data.setdefault(user,{})[item] = rate
print data
我的代码中缺少什么,或者我完全走错了路。请帮忙。在
我会
pivot
然后构建dict。例如:生产
^{pr2}$首先,框架:
数据透视:
将
NaN
s替换为0:使用字典理解构建一个行字典:
有很多方法可以完成最后一步,包括
dict(zip(pdf.index, pdf.values.tolist()))
,但是当你想稍微调整一下时,其中许多方法并不能很容易地概括。在把你拥有的东西加工成你想要的怎么样:
^{pr2}$processed_data
产量:如果您想将它转换回常规字典(从
defaultdict
),那么 执行以下操作:它产生了
相关问题 更多 >
编程相关推荐