代码拉取完成,页面将自动刷新
同步操作将从 caijiahao/programRecommendation 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#-*- coding: UTF-8 -*-
#分组聚类划分并保存
#按照连续剧聚类保存
def groupBySerialClassification(dataset):
import pandas as pd;
import os
data = pd.read_excel(dataset)
groups = data.groupby(data[u'连续剧分类']);
output = './dataset/SerialClassification/';
#判断是否存在根目录并创建该目录
isExists = os.path.exists(output)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(output)
print output + ' 创建成功'
else:
# 如果目录存在则不创建,并提示目录已存在
print output + ' 目录已存在'
#遍历并保存
for name,group in groups:
name = name.replace(' ','')
name = name.replace('/', '')
group.to_excel(output+name+'.xlsx',index=False);
#按照电视类别分类
def groupByLabel(dataset):
import pandas as pd;
import os
data = pd.read_excel(dataset)
groups = data.groupby(data[u'分类名称']);
output = './dataset/label/';
# 判断是否存在根目录并创建该目录
isExists = os.path.exists(output)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(output)
print output + ' 创建成功'
else:
# 如果目录存在则不创建,并提示目录已存在
print output + ' 目录已存在'
# 遍历并保存
for name, group in groups:
name = name.replace('\\', '')
name = name.replace('/', '')
group.to_excel(output + name + '.xlsx');
#dataset = './dataset/labelMapToValue.xlsx';
def dealTheLabel(dataset):
import pandas as pd;
data = pd.read_excel(dataset)
for i in range(len(data)):
str = data.iloc[i:i + 1, 7:8].values[0][0]
str = str.replace('\\', '')
if(str == '家庭影院动作片'):
str = '家庭影院动作'
if(str == '电视剧场 电视剧场大陆剧场'):
str = '电视剧场大陆剧场'
data.iloc[i:i + 1, 7:8] = str
data.to_excel('./dataset/dealTheOfLabel.xlsx', index=False)
def groupByUser(dataset):
import pandas as pd;
import os
data = pd.read_excel(dataset)
groups = data.groupby(data[u'用户号']);
output = './dataset/user/';
# 判断是否存在根目录并创建该目录
isExists = os.path.exists(output)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(output)
print output + ' 创建成功'
else:
# 如果目录存在则不创建,并提示目录已存在
print output + ' 目录已存在'
# 遍历并保存
#index= 0
#result = pd.read_excel('./dataset/statisticWatch.xlsx')
for name, group in groups:
print name
#result = statisticInfoFormWatch(data=group,index=index,uid=str(name),result=result)
group.to_excel(output + str(name) + '.xlsx',index=False);
#result.to_csv('./dataset/statisticWatch.csv', index=False)
def groupByDianBoUser(dataset):
import pandas as pd;
import os
data = pd.read_excel(dataset)
groups = data.groupby(data[u'用户号']);
output = './dataset/dianBoUser/';
# 判断是否存在根目录并创建该目录
isExists = os.path.exists(output)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(output)
print output + ' 创建成功'
else:
# 如果目录存在则不创建,并提示目录已存在
print output + ' 目录已存在'
# 遍历并保存
index = 0
result = pd.read_excel('./dataset/statisticMoney.xlsx')
for name, group in groups:
print name
result = statisticInfoFormMoney(data=group,index=index,uid=str(name),result=result)
#group.to_excel(output + str(name) + '.xlsx', index=False);
result.to_csv('./dataset/statisticMoney.csv', index=False)
#从每个用户的观看记录表得到某个分类下兴趣度和,名称列表,描述列表
def statisticInfoFormWatch(data,index,uid,result):
import pandas as pd;
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#data = pd.read_excel(dataset)
list =[u'体育竞技',u'家庭影院',u'家庭影院其他',u'家庭影院动作',u'家庭影院动画片',u'家庭影院历史',u'家庭影院喜剧',u'家庭影院恐怖',u'家庭影院悬念',u'家庭影院战争',
u'家庭影院文艺',u'家庭影院灾难',u'家庭影院爱情',u'家庭影院犯罪',u'家庭影院科幻',u'家庭影院警匪',u'广告',u'教学教育纪录片',u'新闻时事',u'生活服务',
u'电视剧场',u'电视剧场其他',u'电视剧场大陆剧场',u'电视剧场日韩剧场',u'电视剧场欧美剧场',u'电视剧场港台剧场',u'科学教育',u'科学教育纪录片',u'综艺娱乐']
for label in list:
shaixuan = data[data[u'影片类型'] == label]
miaosu = ""
name = ""
sum = 0.1
if len(shaixuan) == 0:
result.ix[index:index + 1, 2:3] = 0.1
S = set([])
length = len(S)
#提取该用户所有记录描述
for i in range(0,len(data)):
value = str(data.iloc[i:i + 1, 3:4].values[0][0])
value = value.replace(' ', '')
value = value.replace('\n', '')
value = value.replace('\t', '')
name = name+value+";"
value = str(data.iloc[i:i + 1, 10:11].values[0][0])
value = value.replace(' ', '')
value = value.replace('\n', '')
value = value.replace('\t', '')
#描述去重
S.add(value)
if length<len(S):
miaosu = miaosu + value + ";"
length = length+1
else:
S = set([])
length = len(S)
for i in range(0, len(shaixuan)):
name = name + str(shaixuan.iloc[i:i + 1, 3:4].values[0][0]) + ";"
value = str(shaixuan.iloc[i:i + 1, 10:11].values[0][0])
value = value.replace(' ','')
value = value.replace('\n', '')
value = value.replace('\t', '')
#描述去重
S.add(value)
if length < len(S):
miaosu = miaosu + value + ";"
length = length + 1
sum = sum + shaixuan.iloc[i:i + 1, 13:14].values[0][0]
new = pd.DataFrame({u"用户号": str(uid), u"影片类型": label, u"兴趣度": sum, u"名称": name, u"描述": miaosu},index=[str(index)])
result = result.append(new,ignore_index=True)
index = index+1
return result
#result.to_csv('./dataset/watchUser/'+str(uid)+'.csv',index=False)
#从每个用户的收费记录表得到某个分类下兴趣度和,名称列表,描述列表
def statisticInfoFormMoney(data,index,uid,result):
import pandas as pd;
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
list =[u'体育竞技',u'家庭影院',u'家庭影院其他',u'家庭影院动作',u'家庭影院动画片',u'家庭影院历史',u'家庭影院喜剧',u'家庭影院恐怖',u'家庭影院悬念',u'家庭影院战争',
u'家庭影院文艺',u'家庭影院灾难',u'家庭影院爱情',u'家庭影院犯罪',u'家庭影院科幻',u'家庭影院警匪',u'广告',u'教学教育纪录片',u'新闻时事',u'生活服务',
u'电视剧场',u'电视剧场其他',u'电视剧场大陆剧场',u'电视剧场日韩剧场',u'电视剧场欧美剧场',u'电视剧场港台剧场',u'科学教育',u'科学教育纪录片',u'综艺娱乐']
#result = pd.DataFrame({u"用户号": "", u"影片类型": "", u"兴趣度": "", u"名称": "", u"描述": ""},index=["0"])
for label in list:
shaixuan = data[data[u'节目类型'] == label]
sum = 0.0
if len(shaixuan) == 0:
sum = 0.0
else:
for i in range(0, len(shaixuan)):
sum = sum + float(shaixuan.iloc[i:i + 1, 5:6].values[0][0])
new = pd.DataFrame({u"用户号": str(uid), u"影片类型": label, u"金额": sum},index=[str(index)])
result = result.append(new,ignore_index=True)
index = index+1
return result
#dataset = './dataset/dealTvTableAll.xlsx';
#dealTheLabel(dataset=dataset)
#dataset = './dataset/dealTheOfLabel.xlsx'
#groupByLabel(dataset=dataset);
#groupBySerialClassification(dataset=dataset);
#dataset = './dataset/train.xlsx'
#groupByUser(dataset=dataset)
dataset = './dataset/mergeStatisticMoneyAndStatistic.xlsx'
groupByUser(dataset=dataset)
#dataset = './dataset/mergedianboAndDealDianBo.xlsx'
#groupByDianBoUser(dataset=dataset)
#import pandas as pd
#data = pd.read_excel('./dataset/user/11260.xlsx')
#result = pd.read_excel('./dataset/statisticWatch.xlsx')
#statisticInfoFormWatch(data=data,uid=11260,index=0,result=result)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。