泉州信息工程学院

软件学院

课程设计报告书

课 程 名: Python程序设计与高级应用

课程设计项目名称:春晚节目单分析

团队成员: 无

一、项目简介

1.1 项目博客地址

1.2 项目完成的功能与特色

功能:读取本地的春晚节目单.xlsx数据,并对数据进行清洗,把相同类型节目分为一类进行数据分析并以图的形式表现出来。删去无用的空值,统计出现次数前5名的演员。

特色:把杂乱无章的数据清洗后,再构建不同的数学模型对数据进行分析。

1.3 项目采用的技术栈

pandas数据分析,NumPy科学计算库,seaborn和Matplotlib数据可视化,EasyGui图形用户界面。

1.4 项目借鉴源代码的地址

1.5 团队成员任务分配表

二、项目的需求分析

统计每年各类型节目的数量。分析每年各种类型节目数量的变化,并用折线图展现出变化。分析演员出现次数前5名的明星,并使用柱状图展示出其各自出现的次数。

三、项目功能架构图、主要功能流程图

项目功能架构图:

主要功能流程图:

四、系统模块说明

4.1 系统模块列表

1) 统计每年各类型节目的数量

2) 每年各种类型节目数量变化

3) 演员出现次数前5名的明星

4.2 各模块详细描述(名称,功能,运行截图,关键源代码)

1、名称:统计每年各类型节目的数量

功能:将本地的春晚节目单.xlsx数据加载到DataFrame中,再转换成以每年为关键字的字典数据。按年份分割节目列表,把同年的不同名称但类型相同的节目归为一类。最终以字典的形式统计数量并输出。

运行截图:

关键源代码:

for i in range(len(a)):

if '歌' in a[i]:

a[i] = '歌舞类(歌曲、舞蹈、歌舞)'

elif '舞' in a[i]:

a[i] = '歌舞类(歌曲、舞蹈、歌舞)'

elif '小品' in a[i]:

a[i] = '语言类(小品、相声)'

elif '相声' in a[i]:

a[i] = '语言类(小品、相声)'

elif '戏' in a[i]:

a[i] = '戏曲类'

elif '剧' in a[i]:

a[i] = '戏曲类'

else:

a[i] = '其它(包括开场、魔术、武术、杂技等)'

m = 0

for e in yeardict:#根据各年数量分割所有节目种类列表

n = yeardict[e] + m

categorylist.append(a[m:n])

m = n

2、名称:每年各种类型节目数量变化

功能:把每年不同类型的节目数量变化绘制成折线图。

运行截图:

关键源代码:

#图表显示中文

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']

mpl.rcParams['axes.unicode_minus'] = False

for e in categorylist:#取数据并存进列表里

list1 = []

for eyear in yearlist:

if e in alldict[eyear]:

list1.append(alldict[eyear][e])

for i in range(len(categorylist)):#折线图

x = yearlist

y = alllist[i]

plt.plot(x,y,label=categorylist[i])

3、名称:演员出现次数前5名的明星

功能:用柱状图显示历年出现次数前5的演员

运行截图:

关键源代码:

d = np.nan

while True:#删除空值

if d in a:

a.remove(d)

else:

break

li = sorted(dict1.items(),reverse=True,key=lambda x:x[1])#对字典降序

sns.barplot("演员","出现次数",palette="RdBu_r",label='演员出现次数Top 5',data=df)#柱状图

五、项目总结

5.1 特点

把数量多并且杂乱的数据清洗后,生成所需的各种图,可以直观的看出数据的变化。

5.2 不足之处

项目简单,只进行了数据处理与分析。

python项目结构图_python项目相关推荐

  1. python项目结构图_python 项目目录结构设置

    为项目设置目录结构是为了将功能类似的文件放置在同一目录内,增强项目的可读性和可维护性.如果一个python项目功能单一,代码量很小,那就没必要设置的这么复杂. 下图是一个示例项目的目录结构: 1,bi ...

  2. python 项目结构图_python+selenium-【六】-完整的项目结构

    |162 | |163 | HEADING |164 | +----------------+ |165 | | | |166 | +----------------+ |167 | |168 | R ...

  3. python项目实践_Python 项目实践三(Web应用程序)第二篇

    接着上节的继续学习,使用Django创建网页的过程通常分三个阶段:定义URL.编写视图和编写模板.首先,你必须定义URL模式,每个URL都被映射到特定的视图--视图函数获取并处理网页所需的数据.视图函 ...

  4. python加减乘除符号_Python项目如何合理组织规避import天坑

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python项目如何合理组织规避import天坑,本文同步发布于silaoA的博客和微信公众号平. 关注学习了解更多的Cygwin.Linux. ...

  5. python三方库打包项目中_python项目生成及导入依赖的第三方库

    mac下的应用程序发布 及 打包(Python写的脚本,可打包第三方库) 其实这个问题在网上能搜到大把的解决方案.大家的统一答案都是 otool -L yourapp.app/Contents/Mac ...

  6. python项目报告书_python项目

    泉州信息工程学院 软件学院 课程设计报告书 课 程 名:python课程设计 课程设计项目名称:基于Django的音乐网站的设计与实现 团队成员:邹志圣 陈棋明 潘家梁 1.项目介绍 1.1本项目博客 ...

  7. python做项目管理_python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数,最好的方法就是在一个地方统一管理这些参数.最近看了不少的python项目,总结了两种很有意思的配置管理方法. 第一种 基于easydict实现的配置管理 首先需 ...

  8. python celery异步_python项目_使用异步功能,celery

    # 主程序 from celery import Celery # 创建celery实例对象 app = Celery("luffy") # 如果想要在celery中执行djang ...

  9. python接收弹幕_Python项目2:弹幕复读机

    这个项目是我从B站的一个up主那学到的(原视频号269525280),感觉很是有趣,就是很欠打哈哈 一.功能 功能很简单,就是将B站直播间的每条弹幕重新发送一遍. 二.思路 先通过post请求获取实时 ...

最新文章

  1. 【数据结构】链式队列的实现(C语言)
  2. java重量级框架_框架之轻量级和重量级
  3. java wed登录面 代码_Java Web用户登录实例代码
  4. html jquery ajax乱码问题,jquery使用ajax提交中文乱码问题的解决
  5. Hadoop集群日常运维
  6. CRM Fiori应用 Appointment的close date字段
  7. k8s dashboard_windows10 部署 docker+k8s 集群
  8. 五月份哪里有有计算机考试,2021年5月全国计算机等级考试报名时间
  9. 极致业务基础开发平台
  10. linux 时间戳 c语言,C语言实现字符转unix时间戳
  11. 支付宝澄清使用华为方舟编译器;三星苹果遭遇集体诉讼;PHP 7.4.0 beta4 发布 | 极客头条...
  12. python数据结构5 - 排序与搜索
  13. 得力计算机无法开机,得力针式打印机常见问题及解决方法
  14. javascript错误_您可能会犯的javascript错误
  15. 未连接到互联网的解决方法(chrome)
  16. 华硕u4000u 重装window7 重装win7 重装window10 重装win10 重装系统 戴尔 联想 鸿基 重装系统远程协助
  17. 2015 上海邀请赛c题 calculator hdu5238
  18. android--新闻阅读器实现源码
  19. form表单—2种提交方式
  20. OpenAI完胜DOTA世界冠军,20行python代码带你领略其魅力

热门文章

  1. Windows下配置Git
  2. RHEL6.1在字符模式下安装图形界面
  3. 2018-2019-2 网络对抗技术 20165230 Exp8 Web基础
  4. 通过造车来了解软件开发模式
  5. HDU - 2122 Ice_cream’s world III
  6. 前端面试题目笔记-5
  7. 编译驱动的Makefile解析
  8. 使用beanShell来解析执行java的String方法,类似javascipt的eval方法
  9. jquery与Ajax() 调用后台方法
  10. 接口测试人员需要掌握的知识技能