python这样的数据集,第一列是用户,第二列是电影,第三列是评分,第四是时间之类的. 30
怎么转化为评分矩阵,评分矩阵是一个全部是评分的矩阵,行是一个用户对于所有电影的评分,列是某个电影所有用户对它的评分。...
怎么转化为评分矩阵,评分矩阵是一个全部是评分的矩阵,行是一个用户对于所有电影的评分,列是某个电影所有用户对它的评分。
展开
1个回答
展开全部
# 读文件
f=open('e:/python27/view_c.txt','r')
lines=f.readlines()
f.close()
# 按行写入列表list1
# 并统计总行数、人数、影片数
list1=[]
num=0
maxrow=0
maxcol=0
for line in lines:
list1.append([])
for st in line.split('\t'):
list1[num].append(int(st))
if list1[num][0]>maxrow:
maxrow=list1[num][0]
if list1[num][1]>maxcol:
maxcol=list1[num][1]
num+=1
# 按人数、影片数创建全为0值的二维数组list2
list2=[]
for i in range(0,maxrow):
list2.append([])
for j in range(0,maxcol):
list2[i].append(0)
# 填充二维数组list2
for i in range(0,num):
id=list1[i][0]-1
jd=list1[i][1]-1
kd=list1[i][2]
list2[id][jd]=kd
# 二维数组list2
for i in range(0,maxrow):
for j in range(0,maxcol):
print(list2[i][j],' ',end='')
print('\n')
f=open('e:/python27/view_c.txt','r')
lines=f.readlines()
f.close()
# 按行写入列表list1
# 并统计总行数、人数、影片数
list1=[]
num=0
maxrow=0
maxcol=0
for line in lines:
list1.append([])
for st in line.split('\t'):
list1[num].append(int(st))
if list1[num][0]>maxrow:
maxrow=list1[num][0]
if list1[num][1]>maxcol:
maxcol=list1[num][1]
num+=1
# 按人数、影片数创建全为0值的二维数组list2
list2=[]
for i in range(0,maxrow):
list2.append([])
for j in range(0,maxcol):
list2[i].append(0)
# 填充二维数组list2
for i in range(0,num):
id=list1[i][0]-1
jd=list1[i][1]-1
kd=list1[i][2]
list2[id][jd]=kd
# 二维数组list2
for i in range(0,maxrow):
for j in range(0,maxcol):
print(list2[i][j],' ',end='')
print('\n')
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询