python基于春晚节目单的数据分析

基于春晚节目单的数据分析

春晚节目单分析分析文件‘春晚节目单.xlsx’,完成

1)2000年前后前十名节目类型节目数量用折线图表示,

2)每年各种类型节目的占比,用饼图表示,

3)分析演员出现次数前5名的明星,使用柱状图展示出其各自出现的次数。

(1)代码如下:
import xlrd
from pyecharts import *
#设置文件名和路径
page=Page()
fname = ‘春晚节目单.xlsx’
#打开文件
filename = xlrd.open_workbook(fname)
sheets=filename.nsheets#获得sheet的个数
sheet_list = filename.sheet_names()#sheet名字
diry={}
diry2={}
for i in range(len(sheet_list)):
sheet=filename.sheets()[i]#sheet名字
nrows=sheet.nrows#列
for j in range(1,nrows):
row_datas = sheet.row_values(j)#获得当前行的所有信息
if row_datas[3]<2000:
if row_datas[0] not in diry:
diry[row_datas[0]]=1
else:
diry[row_datas[0]]=diry.get(row_datas[0])+1
list_x=[]
diry_x=sorted(diry.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
else:
if row_datas[0] not in diry2:
diry2[row_datas[0]]=1
else:
diry2[row_datas[0]]=diry2.get(row_datas[0])+1
list_x1=[]
diry_x1=sorted(diry2.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for i in range(10):
list_x.append(diry_x[i][0])
values_y=[]
for i in list_x:
values_y.append(diry.get(i))
print(list_x)
print(values_y)
line=Line(“2000年前后前十名节目类型节目数量”)
line.add(“2000年之前节目数量”,list_x,values_y,is_label_show=True)
for i in range(10):
list_x1.append(diry_x1[i][0])
values_y=[]
for i in list_x1:
values_y.append(diry2.get(i))
print(list_x)
print(values_y)
line.add(“2000年以后节目数量”,list_x1,values_y,is_label_show=True)
page.add(line)
。# page.add(line2)
page.render(’…/templates/1.html’)

图1
(2)代码如下:
import xlrd
from pyecharts import Pie,Page
#设置文件名和路径
fname = ‘春晚节目单.xlsx’
。# 打开文件

page = Page()
filename = xlrd.open_workbook(fname)
sheets=filename.nsheets#获得sheet的个数
sheet_list = filename.sheet_names()#sheet名字
beginyear=1983
。# 统计这些年来的类型占比
for i in range(len(sheet_list)):
diry={}
sheet=filename.sheets()[i]#sheet名字
nrows=sheet.nrows#列
leixvalues=[]
# nrows
for j in range(1,nrows):
row_datas = sheet.row_values(j)#获得当前行的所有信息
s=row_datas[0]
# if int(row_datas[3])==2018:
# pie = Pie(beginyear,‘年的各类型节目的占比’)
# attr=list(diry.keys())
# for i in attr:
# leixvalues.append(diry.get(i))
# pie.add("", attr, leixvalues, is_label_show=True)
# page.add(pie)
# leixvalues=[]
# diry={}
# break
if int(row_datas[3])==beginyear:
if s not in diry:
diry[s]=1
else:
diry[s]=diry.get(s)+1

    else:pie = Pie(beginyear,'年的各类型节目的占比')beginyear=beginyear+1attr=list(diry.keys())for i in attr:leixvalues.append(diry.get(i))# print(attr)# print(len(attr))# print(leixvalues)# print(len(leixvalues))pie.add("", attr, leixvalues, is_label_show=True)page.add(pie)leixvalues=[]diry={}

page.render("…/templates/占比饼图.html")

在这里插入图片描述
(此处忽略好多个饼图。。。运行之后就会有滴)

(3)代码如下:
。# 导入xlrd模块
import xlrd
import numpy as np
import matplotlib.pyplot as plt
from pyecharts import Bar
#设置文件名和路径
fname = ‘春晚节目单.xlsx’
。# 打开文件
filename = xlrd.open_workbook(fname)
sheets=filename.nsheets#获得sheet的个数
sheet_list = filename.sheet_names()#sheet名字
list=[]#存放类型
actorName={}
listz=[]#存放演员的名称
listcount=[]#存放次数
for i in range(len(sheet_list)):
sheet=filename.sheets()[i]#sheet名字
nrows=sheet.nrows#列
for j in range(1,nrows):
row_datas = sheet.row_values(j)#获得当前行的所有信息
s=row_datas[2]
if s!=’’:
s=s.split("、")
for i in s:
if i not in actorName:
actorName[i]=1
else:
actorName[i]+=1
listx=sorted(actorName, key=lambda key: actorName[key],reverse=True)
for i in range(5):
# print(listx[i],end=’:’)
listz.append(listx[i])
# print(actorName.get(listx[i]))
listcount.append(actorName.get(listx[i]))
bar=Bar(‘标题:分析演员出现次数前5名的明星’)
bar.add(‘图注:数量’,listz,listcount)
bar.render("…/templates/分析演员出现次数前5名的明星.html")

在这里插入图片描述
(4)
from flask import Flask,render_template

app = Flask(name)

@app.route(’/’)
def hello_world():
return render_template(‘index.html’)
@app.route(’/cishu’)
def cishu_world():
return render_template(‘分析演员出现次数前5名的明星.html’)
@app.route(’/zhanbi’)
def zhanbi_world():
return render_template(‘占比饼图.html’)
@app.route(’/jiemu’)
def jiem_world():
return render_template(‘1.html’)

if name == ‘main’:
app.run()

在这里插入图片描述
单点后出现图表


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部