python大作业有哪些题目,python大作业数据分析

大家好,小编来为大家解答以下问题,python大作业有哪些题目,python大作业数据分析,现在让我们一起来看看吧!

目录

题目描述

代码及详细解答如下

一、实验目的

二、实验任务

三、总体设计方案

四、设计思路和关键语法

第一部分(提取用户输入文件名的GUI)

第二部分(将数据进行导入,并且给出提醒信息)

第三部分(定义对数据不同统计值进行计算的回调函数)

第四部分(根据数据绘图的回调函数)

第五部分(定义导出数据为不同格式的回调函数)

第六部分(GUI布局)

五、程序运行效果

六、创新之处

七、实验总结

八、主要参考资料


​​​​​​​题目描述

本地简单数据分析平台

一、题目描述

当今社会中统计学、大数据分析等已经成为无论文理的各个学科中必要的研究途径以及

展示数据最好的形式,其便捷性及强大的功能也是各个软件所追求的目标之一。

选择本题,你需要完成一个程序,包含一个 GUI 的界面,能够清晰地引导用户导入数

据文件,并且给出至少两种数据分析及展示方法,最后能够将结果导出为用户指定的格

python自动化运维应用

二、基本实验要求

本题你必须给出一个 GUI 界面,需要清晰直观地给出导入和导出文件的按钮,在导入

文件之后能够给出数种可以进行一键分析的按钮。

根据用户选择的分析方法,需要自动检测导入的数据是否符合要求(例如单变量数据不

能够进行相关分析),并给出相应的提醒或者是报错信息。

展示方法中可以由用户自定义横纵坐标刻度、标题以及图例外观等相关参数,支持双变

量做图等功能,导出前可以由弹窗等形式进行预览。

三、必做部分

你的程序必须有一个 GUI 页面,要求简洁美观,能够一键完成用户所需的操作:

1

导入数据文件。基础的单变量数据文件规定为一个 n+1 行两列的 csv 文件。

其中包含 n 个数据,例如下表:

要求 n 不小于 100,数据的来源可以根据自己的专业喜好来选择,可以但不限于

从以下网站获取:

a) 国家统计局:http://data.stats.gov.cn/index.htm

b) Science Data Bankhttp://www.sciencedb.cn/index导入的方式可以是直接从当前目录读取特定名称的 csv 文件,也可以给出一个文

本框,由用户输入文件名。

(2) 开展数据分析,必须能够至少输出包括最基本的描述统计量(平均数,中位

数,众数等)

在导入数据后,应给出相应的数据分析按钮,用户点击后应显示出分析结果。

(3) 对于描述统计结果可视化,必须包括以下两种方式:

a) 柱状图

b) 折线图

(4) 将 Matplotlib 可视化结果可以用弹窗进行预览,并且导出保存,图片格式为

png 格式。保存的位置任意。

四、选做部分

以下内容非必做项,每完成一条选做项,都可以给大作业带来额外的加分,你同样可

以用其他额外的内容来丰富你的大作业,以获得加分。以下为提供的一些思路和方向。

(1)在导入数据方面,支持更多的文件格式和数据文件内容,比如 jsonxls 文件,多

变量数据等。

(2)在数据分析方面,添加更多的方法,可以包括但不限于:

a) 广义线性模型

b) 非参数检验

(3)在做图方面,支持更多的做图类型,例如饼图等,支持用户自己定义图例,图线

颜色、标题等。对于多变量的数据,可以进行多线图等多变量的图形绘制。

(4)在 GUI 方面,能够将导入的数据使用表格进行展示。

(5)在用户选择了分析方法后,可以自动检测导入的数据是否符合要求(例如单变量

数据不能够进行相关分析),并给出相应的提醒或者是报错信息。

(6)导出时,你可以利用 Markdown 文本,将数据与分析结果进行整合,最后生成一

份详细的数据报告。

以上选做部分不要求全部完成,也不必局限于给出的这些内容

代码及详细解答如下


from tkinter import*        #导入会用上的库
import tkinter.messagebox
from tkinter.messagebox import*
from PyQt5.QtWidgets import (QWidget, QToolTip, QDesktopWidget, QMessageBox,QTextEdit,QLabel,
    QPushButton, QApplication,QMainWindow, QAction, qApp, QHBoxLayout, QVBoxLayout,QGridLayout,
    QLineEdit)              #这是PyQt5最主要的模块
from PyQt5 import QtWidgets
import sys  
from PyQt5.QtGui import QFont,QIcon
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import QCoreApplication
import pandas as pd        #数据分析用的pandas库
from scipy import stats    #stats也是数据分析用的
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用于正常显示中文

top=Tk() #Tk()是创建窗口
top.title("文件分析窗口1")
label1=Label(top,text="请输入要分析的文件名")
un_textbox=Text(top,height=1,width=20)                     #定义了一个文本框
enter_button=Button(top,text="开始",command=lambda:enter())  #定义了一个按钮
def enter():                  #这个回调函数可以提取出文本框输入的内容,并且可以销毁文本框
    global file_path         #将file_path设为全局变量,之后提取文件都会用上它
    name=un_textbox.get(1.0,END)
    file_path =name[0:-1]
    top.destroy()
un_textbox.grid(row=0,column=1) #用grid进行布局
label1.grid(row=0,sticky=W)
enter_button.grid(row=2,column=0,padx=5,pady=5)
top.mainloop()

def load_data1(qaction):    #这是我们定义的一个与导入数据有关的回调函数
    df = pd.read_excel(file_path,header=0,index_col=0)
    df = df.astype(float)    #df为读入的数据
    num=df.columns.size      #num为有效的,可以进行分析的数据列数
    if num==1:              #如果数据满足条件,就会弹出"导入文件数据成功!"的GUI窗口提示
        top=Tk()    
        top.title("恭喜你!!!")
        label1=Label(top,text="导入文件数据成功!")
        def enter1():
             top.destroy()
        cl_button=Button(top,text="关闭",command=lambda:enter1())
        label1.pack()
        cl_button.pack()
        top.mainloop()
        print('导入文件数据成功!')
    else :                      #如果不满足条件,就会弹出"导入文件数据失败!"的GUI窗口提示
        top=Tk()
        top.title("不好意思!")
        label2=Label(top,text="导入文件数据失败,你的数据不符合格式!")
        def enter2():
             top.destroy()
        cl_button=Button(top,text="关闭",command=lambda:enter2())
        label2.pack()
        cl_button.pack()
        top.mainloop()
        print('导入文件数据
python大作业 一、Turtle创意大PK 自拟题目,完成一个利用Python程序的创意绘图,采用turtle库绘图为主,不少于50行代码,可选采用其他库。 (滑稽绘制) 二、程序练习 2.1 问题描述(10分) 人们常常提到"一万小时定律",就是不管你做什么事情,只要坚持一万小时,应该都可以成为该领域的专家。那么,10000小时是多少年多少天呢? 2.2 问题描述(10分)0380031003800341590145037657 编写计算从n到m和的函数‬,函数名为sum(n,m)‬,函数返回值为n到m所有数据的和‬,使用该函数计算输入数据x,y之间所有数据的和。 2.3 问题描述(15分) 编写函数judgeTri(a,b,c),判断以参数a,b,c的值为边长能否构成三角形并判断三角形的形状;若是锐角三角形,返回R;若是直角三角形,返回Z;若是钝角三角形,返回D;若三边长不能构成三角形,返回ERROR。 2.4 问题描述(15分) 用户输入一个字符串,分别统计其中小写字母、大写字母、数字、空格和其他字符的个数,并在一行内输出小写字母、大写字母、数字、空格和其他字符的个数。 2.5 问题描述(20分) 程序的功能: (1) 使用随机库功能,生成一个包含10个不重复且小于200的正整数列表ls1,输出ls1。‬ (2) 使用列表排序方法,对ls1按奇数在前偶数在后,并且奇数之间的相对顺序不变,偶数之间的相对顺序也不变进行排序,再输出ls1。‬ (3) 使用列表排序方法,对ls1按元素字符长度降序进行排序,输出ls1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值