py可视化练习(第一周)

题目一:计算手机销量年增长率
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬
描述

  1. 文件smartphone.txt存放着某些公司手机年销量数据,每行为每家公司若干年销量(百万),数据间的分隔符为制表符。
  2. 打开文件请注明文件编码格式:with open(“smartPhone.txt”,encoding=“gbk”) as f:
  3. 编写函数isBigGrowth(L,rate),形参L为一组含有数值型数据的列表(某公司各年份的销量),rate为年增长率,判断并返回是否年销量快速增长:若每年销量增长率都超过给定的rate,则为True,否则为False。
  4. 主程序读取smartphone.txt内的数据,将每行数据中的年销量转为数值型数据,利用函数isBigGrowth(L,rate)计算并屏幕输出各公司年销量是否快速增长的情况(本题设年销量增长率均超过30%为快速增长),各数据间以制表符相隔。
  5. 程序运行结果如下图所示:
    手机公司 是否快速增长?
    Samsung 否
    Apple 否
    Huawei 否
    OPPO 快速
    Vivo 快速
    ZTE 否
    LG 否
    Lenovo 否
    Xiaomi 否
rate = 0.3;
def isBigGrowth(L,rate):
    for i in range(3):
        yearGrowth = (L[i+1]-L[i])/L[i];
        if(yearGrowth < rate):
            return False;
    return True;
with open("smartPhone.txt",encoding="gbk") as f:
    data = f.read();
f.close();
listdate = data.split("\n")
dic={}
for i in range(1,10):
     shell=listdate[i].split("\t");
     dic[shell[0]] = [float(shell[1]),float(shell[2]),float(shell[3]),float(shell[4])]
print("手机公司","是否快速增长?")
for name in dic.keys():
    flag = isBigGrowth(dic[name],rate)
    print(name,end=" ")
    if(flag):
        print("快速")
    else:
        print("否")

在这里插入图片描述
题目二:爬取某省的大学排名
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬
描述
输入某省名称,从上海交通大学研发的“软科中国最好大学排名2019”(http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html)爬取数据,输出该省2019年的大学排名。
输入: 广东
输出:
在这里插入图片描述

from bs4 import BeautifulSoup;
import requests;

def getHtmlText(url):
    try:
        r = requests.get(url,timeout = 30);
        r.encoding = "utf-8";
        print(r.status_code);
        return r.text;
    except:
        return ""
        
def fillUnivList(uList, html):
    #靓汤库煲汤
    soup = BeautifulSoup(html,"html.parser");
    table = soup.find("table",attrs={'class':'table table-small-font table-bordered table-striped'})
#    print(soup)
    tbody = table.tbody;
    for tr in tbody.find_all("tr"):
        message = tr.find_all("td")
        uList.append({
            "排名":message[0].contents[0],
            "学校名称":message[1].contents[0].text,
            "省市":message[2].contents[0]
        })
    return uList
        
def printUnivList(uList, privince):
    print("{:<10}{:^10}{:^10}".format("排名","学校名称","省市"))
    for data in uList:
        if(data["省市"] == privince):
            print("{:<10}{:^10}{:^10}".format(data["排名"],data["学校名称"],data["省市"]))
    
def main():
    unifo = []
    url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html";
    #输入查找的省份
    province = input("输入查找的省份:")
    html = getHtmlText(url);
    print(html)
    unifo = fillUnivList(unifo, html);
    printUnivList(unifo,province)
main()

在这里插入图片描述

Python中的数据可视化主要是利用各种库来将数据以图形的形式展示出来,以便更容易地理解数据的特征、分布和趋势。Python中最常用于数据可视化的库包括Matplotlib、Seaborn、Plotly等。 一个基本的Python函数进行数据可视化的流程通常包括以下几个步骤: 1. 数据准备:首先需要收集并准备好需要可视化数据数据可以是CSV、Excel、数据库等多种格式。 2. 数据处理:对数据进行清洗、筛选、转换等预处理步骤,以便于绘图。 3. 图形选择:根据需要表达的数据内容和特点选择合适的图形,例如条形图适合展示分类数据的频率,折线图适合展示数据随时间的变化趋势等。 4. 绘图:使用相应的库函数来绘制图形。例如,使用Matplotlib的plot函数可以绘制折线图,使用bar函数可以绘制条形图。 5. 图形优化:调整图形的各种参数,如标题、轴标签、图例、颜色等,使得图形信息更加完整和易于理解。 6. 显示或保存:最后,可以通过show函数显示图形,或者使用savefig函数将图形保存为图片文件。 下面是一个简单的使用Matplotlib库的Python函数示例,用于绘制一组数据的折线图: ```python import matplotlib.pyplot as plt def plot_line_chart(x_data, y_data, xlabel, ylabel, title): plt.plot(x_data, y_data, label='Data Line') plt.xlabel(xlabel) plt.ylabel(ylabel) plt.title(title) plt.legend() plt.show() # 示例数据 x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] plot_line_chart(x, y, 'X轴标签', 'Y轴标签', '示例折线图') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值