python咋读啥意思,python怎么读取数据
01今天应该去上一篇文章的坑,开始Python数据分析之旅。Python易于阅读和维护,在深度学习、机器学习和人工智能领域表现出色,推动了最前沿科学技术的发展。Python相对容易上手,系列的优势使得Python在数据分析领域占据了很大的优势。此外,本文使用的Tableau是一款功能强大的数据可视化软件,可以将数据操作与可视化图表完美结合。被越来越多的公司应用于商业实践,成为企业商业智能解决方案的重要平台之一。借助Python和Tableau的强大功能,本文做了一个简单的数据分析例子。
02
首先用Python抓取www.51.com发布的全国数据分析相关招聘岗位,然后简单清洗数据。使用Pycharm编辑器,同时安装requests/bs4/pandas等Python库,即可实现本文的数据分析功能。
首先导入需要的库,进入要爬取的网站,然后编写爬虫程序,选择要爬取的信息,写入函数get_contents()。代码如下:
上面的代码运行后,在前程无忧网站上抓取2000页10万条招聘信息,然后编写代码将信息保存在csv文件中,以备后续操作。
# - * -编码:utf-8-*-来自bs4 import beautiful soup import requestsimport pandas as pdurl=r https://search . 51 job . com/list/000000000000000,00,9,99, \ r % E6 % 95% B0 % E6 % 8D % AE % E5 % 88% 86% E6 % 9E % 90,2,{}。“html,”\ r lang=cstype=1 \ r post channel=0000 work year=99 cotype=99 REE from=99 job term=99 company size=99 lon lat=0% 2 \ r c0 radius=-1 ord _ field=0 confirm date=9 from type=dibiao id=0 address=line=special area=00 from=welfare= final=[]def get _ contents():for I in range(0,2001):URL _ real=URL . format(I)try:RES dw _ table )[0]companys=total _ content . select(。El )# y=total _ content . select( . t1 )# print(y)for company s:total={ } position _ all=company . select( . t1 )[0]position _ a=position _ all . select( a )if len(position _ a)0:total[ name ]=company . select( . T2 )[0]. text . strip()total[ position ]=position _ a[0][ title ]total[ location ]=company . select( . T3 )[0].text . strip()total[]。strip()# total= { } \ t { } \ t { } \ t { } \ t { } \ t { } \ t { } \ n 。format(姓名、职位、地点、薪金、更新日期、位置url) print(处理页面 str(I) Please waiting-)print( Company s name is total[ name ])final . append(total)except:print( Failed with page str(I)-)return final def save _ my _ file():# with open( data _ analysis . CSV , a ) as file_obj: df=pd。data frame(final)df . to _ CSV( 0512 _ 51 job-data _ analysis . CSV ,mode=a ,encoding= gbk )get _ contents()save _ my _ file()print(len(final))
放一张爬山的动图,边爬边打印进度:
函数save_my_file()完成数据保存。到目前为止,所有数据都已被捕获并成功存储在本地文件中。接下来,简单地清理数据。主要工作包括去除非数据分析岗位的招聘信息,清洗区域,只得到市级单位和区间类型的工资,分为最低工资和最高工资(统一为 K/月单位),去除工资项目的空白数据。
# - * -编码:utf-8-*-import pandas as PD import numpy as NP clean _ data=[]def select _ data position():data=PD . read _ CSV( 0512 _ 51 job-data _ analysis . CSV ,header=0,encoding=gbk) df=pd。data frame(data)# df=df[True-df . name . duplicate()]df=df[df . position . str . contains(r 。*?数据。*?.*?分析。*?)]# df=df[df . dropna(df . salary= )]df . to _ excel( data _ 51 . xlsx )def get _ file _ elements():file=PD . read _ excel( data _ 51 . xlsx )file=PD。data frame(file)Rows=len(file)print(Rows)for I in range(0,Rows):raw _ data={ } raw _ data[ company ]=file[ name ][I]raw _ data[ position ]=file[ position ][I]if - in file[ location ][I]:PLC _ 1=str(file[ location ][I])。find(-)raw _ data[ city ]=file[ location ][I][:PLC _ 1]else:raw _ data[ city ]=file[ location Print(file[ salary ][I])if file[ salary ][I]= :raw _ data[最低工资]= raw _ data [最高工资]= elif -]in file[ salary ][:PLC _ 2=str(file[ salary ][I])。find(-)# print(PLC _ 2)low _ salary=file[ salary ][I][:PLC _ 2]high _ salary=file[ salary ][I][PLC _ 2 1:]。rstrip(万/月千/月万/年)# print (raw _ data [高_薪]) if 万/月in file[薪][i]: raw_data[最低工资]=float(高_薪)* 10 elif 千/月in file[薪][i]: raw_data[最低工资]=float(高_薪)elif 年=file[ salary ][I]raw _ data[ maximum salary ]=file[ salary ][I]raw _ data[ URL ]=file[ pos _ URL ][I]raw _ data[ update clean _ data . append(raw _ data)print( Processing with line str(I)-)print(还有 str(rows 1 - i)行要完成-)return clean _ datadef save _ clean _ data():lt=PD。data frame(clean _ data)lt . to _ excel( final _ result . xlsx )print(成功保存了我的文件!)# select _ data position()get _ file _ elements()save _ clean _ data()清理后还剩7088条数据(最新数据截至5月12日)。
03
在获取了所有的数据后,利用Tableau做一些简单的分析,包括招聘公司的区域分布,招聘职位薪资最高的城市,招聘职位薪资最高的公司。时间有限。先做三个简单的分析。对后续招聘岗位进行详细的分类整合,如数据分析师、数据分析师、数据专家、大数据分析师等。并进一步分析数据分析的详细类别中的职位和公司的职位类别的薪资。分析结论将更有实际意义。
(1)招聘岗位的地区分布:
数据可视化结果显示,数据分析的招聘岗位主要分布在沿海地区,江浙、珠三角分布密集,薪资水平也较高。分布趋势从沿海到内陆逐渐减少,中西部地区的工作岗位以省会城市为主,这些省会城市的工资大致相当。
(2)招聘岗位薪资最高的城市:
排名前13的城市主要是沿海地区,他们的工资水平遍布10K。目前上海在最新的招聘数据中被其他城市超越,但薪资早已达到12K。你兴奋吗?
(3)招聘岗位薪资最高的公司:
招聘薪资排名前15的公司如上图。平均月薪超过40K,岗位主要是大数据工程师、架构师、总监等。属于数据分析的高端岗位。
本文分享完毕,招聘信息不断更新。未来还会继续对最新数据做一些更深入的可视化分析和挖掘,也可以作为未来技能学习和工作选择的指南针。
欢迎大家关注我的微信微信官方账号,微信官方账号会持续更新python、tableau、SQL等数据分析文章。
ID:数据梦想启动
公众号名称:数据分析X小硕
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。