窥探未来不是梦,python数据分析轻松实现

5 篇文章 0 订阅
4 篇文章 0 订阅

前言

什么是编程,简单点说其实就是去写代码?那就这么一个枯燥的工作,为什么会有这么多的人想要进入这个行业呢?其实,作为一个从业多年的“资深cv工程师”,一个高考6个院校,每个院校6个专业,没有一个跟计算机沾边的人,到现在彻底爱上了计算机这一行,其实很简单,就是当看到自己写了无数行的代码,最后展现成一个个的功能demo,帮助很多人节省了大量的实践,demo联合起来不就是我们的项目吗?对吧,其实编程的魅力就是用最短的时间教会电脑帮你做各种难以完成的事情,然后去帮助他人

因为之前的时候我给大家写过一些Python爬虫的相关案例,那最近特别火的python能帮你做什么?这玩意好像跟我的工作没什么太大的关系啊,那不妨花费一点时间往下看一下,除了人工智能,大数据这样的高端学科之外,他在你的日常生活中都有什么帮助

初识数据分析

如果你是会计,行政,新闻,医学等等职业你都可以借助数据分析帮你完成大量数据的整理汇报工作

这是什么时代,这是一个数据的时代,你们每天要处理大量的数据报表、汇报甚至是客户关系新闻动态等内容,但是,有一句话,数不如表,表不如图,不知道你的年终汇报是否进行完了,我就以这个年终汇报为例,其实说白了,年终汇报要做的事情不就是对于整年的数据以及未来数据的一个展示吗?而这些数据,再整理完成进行汇报的时候,你能怎么做,之前的数据可以直接用现成的,通过excel等操作,虽然麻烦点,但是也能勉强制作一些表格(ps:office大神除外啊,我这种office小渣渣,想都不要想),但是数据量上来之后,office大神也不行吧,更何况借助之前的数据,进行未来的展示。而年终汇报决定的是年终奖的多少,以及来年你的职业发展了,那这个时候,就可以通过对数据的处理筛选和可视化分析,得出结论,帮你做决策了

各位,摸着脑袋拍板做决定的时代已经过去了,现在是数据驱动决策的时代,不然你写一份年终报告,老板问你这个结论怎么得来的,你说你感觉出来的吗?如果你的整个报告数据推导结论做的很到位,你年终述职是不是更加有加年终奖的可能?

那说了这么多,python能帮你做什么事情呢?

直接看效果图

img

这就是我们最基础的,通过相应的数据来绘制我们的图标,数据来源也很简单,就是在网上可以下载的美国gdp数据图,但是我想真的让你去实现的话,你会很头疼的,不信你可以试试看

这是数据格式:

img

数据来源地址:https://www.kylc.com/stats/global/yearly_per_country/g_gdp/usa.html

这些数据我想光让你去粘贴之后整理就要耗费不少的时间吧,但是,同样的内容,如果全都交给python来做的话,能帮你节省多少时间呢?首先是我们的数据获取

爬虫获取数据代码

# -*- coding: utf-8 -*-
import requests
from lxml import etree
import openpyxl
​
​
def get_html(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
    }
    html = requests.get(url)
    return html.text
​
def parse_content(content):
    e = etree.HTML(content)
    year_list = e.xpath("//tr/td[1]/text()")
    gdp_list = e.xpath("//tr/td[2]/text()")
    percents_list = e.xpath("//tr/td[3]/text()")
    year_list = list(filter(is_correct,year_list))
    year_list = list(map(int,year_list))
    gdp_list = list(map(extract, gdp_list))
    percents_list = list(map(delete_char,percents_list))
    print(year_list)
    print(gdp_list)
    print(percents_list)
    save_data(year_list,gdp_list,percents_list)
​
​
def save_data(year_list,gdp_list,percents_list):
    wk = openpyxl.Workbook()
    sheet = wk.active
    for i in range(len(year_list)):
        sheet.append([year_list[i],gdp_list[i],percents_list[i]])
    wk.save("t2.xlsx")
​
def extract(s):
    return int(s[s.find('(')+1:s.rfind(')')].replace(",",""))
​
def delete_char(s):
    return float(s.replace("%",""))
​
def is_correct(s):
    s = s.strip()
    if s:
        return s.isdigit()
    return False
​
if __name__ == '__main__':
    content = get_html("https://www.kylc.com/stats/global/yearly_per_country/g_gdp/usa.html")
    parse_content(content)

当我们的数据获取下来并且按照一定的规则整理完成之后,具体的步骤,可以参考我之前的python爬虫的相关内容

而当数据获取之后,我们就可以根据这些数据进行相应的数据分析,下面只给大家展示一些重点代码,详细的代码我已经上传到我的码云仓库中,有需要的朋友可以自取:

仓库地址在这里

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZODyDK7-1613986097780)(https://mmbiz.qpic.cn/mmbiz_svg/Hp9HAaP9GFBhibwsiby79ukPtMhfv8jiaicWJH50Pzc5opzYqL6u1nqtQIGeia7zuqqbbt4taAElzGjMveFGmhR9OGxxNlPZozasl/0?wx_fmt=svg)]

数据分析代码

#绘制美国GDP变化图表import xlrdimport matplotlib.pyplot as pltimport numpy as np

#1、获取数据

data=xlrd.open_workbook(r'E:\Python\com\test\GDP\t4.xlsx')
#print(data.sheet_names())    #读取表格中的数据excel=data.sheet_by_name('Sheet')
#print(excel.nrows)

#2、绘制图表

    #设置字体
    plt.rcParams['font.sans-serif']=['FangSong']    
    #绘制区域
    plt.figure(figsize=(16,9))plt.title("美国gdp变化图")    
    #构建xy轴
    plt.grid(linestyle='-.')
    plt.xlabel('年份')
    plt.ylabel('GDP(万亿)')

#3、数据填充到图表中

#通过for循环遍历每一个单元格中的数据并且进行相应的存储
year_list=[]for i in range(excel.nrows):    
year=excel.cell_value(i,0)   
# 将单元格的数据添加到列表中    
year_list.append(year)
# !!!!!!!!最重要的点:将数据合并到一起形成多维数组arr=np.array(list(zip(year_list,gdp_list,percent_list)),dtype=np.float64)

#4、展示

plt.plot(arr[:,[0]],arr[:,[1]]/1000000000000,"dg",label="GDP")
plt.plot(arr[:,[0]],arr[:,[2]],"--r",label="市场占比")
#print(year_list)
plt.legend()
plt.show()

注意:

如果你安装的是最新版本的numpy,但是你还用了之前网上的教程,会报错

img

没关系,别紧张,不影响运行,只是说会报一个错,改进的方法也很简单

老版本的代码写的是np.float来限定数据类型,改进之后是这样的

img

就可以了

这也是现在代码更新换代带来的一个问题,就是很多之前的代码都不能使用或者报错,这个问题对于初学者就很不友好,可能要翻查大量的资料,却不知道,原因和答案就在控制台展示了

  • 图片

  • —END—

  • 这里也给大家准备了一些开年福利,有需要这些学习资料的,可以关注我,后台添加小助手即可获取

  • 在这里插入图片描述

  • 这是我给大家的开年福利

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值