数据分析师的初级玩法(一)

    科技2022-07-10  122

    文章目录

    前言背景爬虫概念主要步骤需要解决的问题实现的方式分析流程数据可视化最后


    前言

    少年不识愁滋味,爱上层楼。爱上层楼。为赋新词强说愁。 而今识得愁滋味,欲说还休,欲说还休。却道天凉好个秋!

    ​ ​  这首诗词个人觉得蛮符合当前的感慨。何为愁?很多人包括我自己常常因为生活的浪花啪啪打脸,殊不知有浪花才能走到彼岸。真心祝愿很多人可以从绝望中看到希望,我想这就是人生吧,无法选择出生,却可以选择走不一样的路。我认识身边的不少海归,却人各有志。有的人是混个学历,有的人是热爱学习,有的人是被逼无奈。形形色色,隐约看见了不同人可见的未来。出于某个机会也看过不少研究生简历,实力和学历没有形成正比,而却各个夸夸其词。个人觉得好的学历固然重要,自身的实力也同样重要,尤其是在这个偏工科的社会里,有一技之长是立身之本,但须活到老学到老,与时俱进。   最近正值秋招,不少师弟师妹问我看到别人拿offer心里压力很大很烦恼恼。我想说的是,求得一个好offer无可厚非,但是不需要虚荣心作祟。我们所做的工作论小的想是自己努力的结果,享受这份快乐理所当然;论大的想我们所享受的快乐在这个社会里都少不了建立在别人的痛苦之上。比如为什么学历高能力低的人可以享受优厚的待遇,学历低能力高的人却只能吃别人的残羹剩饭,社会都有不平等的存在,这仅仅是我说的大多数人小小的痛苦之一。这份建立在别人痛苦之上的快乐对有自知之明的人来说有什么炫耀的么?走自己的路,让别人说去吧! ​  不知不觉说了很多废话,就当自我消解吧,还是言归正传。一个阴错阳差的机会,让我独自学习不擅长的python语言,学习了解基础的机器学习,甚至要限时完成一个任务,加上工作真的是身心俱疲。换做他人,何谁甘做牛马?那便是有追求有理想有性情之人,耐苦中苦,得人上人。今天这篇博客,也是答应了某人,利用闲碎时间整理出来,希望能帮到一些忙去加强自己,对我也是如此。希望一些读者朋友也可以从中获取到有用的东西吧,独乐乐不如众乐乐。若有纰漏,望其指正。


    背景

    ​ 此篇博客是总结这段时间对python和机器学习涉及到的数据分析方法做一个总结,方便回顾使用。由于数据分析本来的方向也很大,机器学习的内容也很广泛,有些还超过自身的能力。这里我想先开篇以总体的方向去总结这块数据分析的内容。从数据爬取,数据可视化分析的通用思路去讲述。


    爬虫概念

    就是依靠某种手段将网络的资源自动获取并保存下来的程序或者代码脚本。优雅的爬虫,可以获取必要的数据,没有多余的垃圾,具备多样的处理策略,而且性能稳定。


    主要步骤

    可以简单概括为 下载数据–>解析数据–>保存数据


    需要解决的问题

    是否需要登录访问定位数据接口分析接口数据以及数据获取过程

    实现的方式

    代码方式现有的爬虫工具

    代码方式:网上一般python做数据爬取的比较多,有很多参考的例子。针对与python的基础知识学习有下面这些网址,对于初学者知识简单使用足够了。

    菜鸟教程 https://www.runoob.com/python/python-tutorial.html简书博客 https://www.jianshu.com/p/4e0e8493d647

    现有的爬虫工具:

    爬虫工具名称简介网址八爪鱼免费、简单的网页爬虫工具,不需要手动编码,支持很多网站爬取数据https://www.bazhuayu.comContent Grabber智能爬取软件,可以运行在开发,测试以及产品服务器上http://www.contentgrabber.comMozenda是一款网页抓取软件,可以从云上和本地软件中抓取数据并进行数据托管。https://www.mozenda.comParsehub基于网页的爬虫程序,支持采集Ajax,JS技术的网页数据,也支持需登录的网页数据https://www.parsehub.com/blogImport.io基于网页的数据抓取工具https://www.import.io

    分析流程

    如下图所示


    数据可视化

    代码方式:使用python图像化的工具手动去实现,例如使用matplotlib

    pandas

    pandas 提供了基于matplotlib的内建绘图功能

    import pandas as pd budget = pd.read_csv("mn-budget-detail-2020.csv") budget = budget.sort('amount',ascending=False)[:10]

    Seaborn

    一个基于 matplotlib 的可视化库

    sns.set_style("darkgrid") bar_plot = sns.barplot(x=budget["detail"],y=budget["amount"], palette="muted", x_order=budget["detail"].tolist()) plt.xticks(rotation=90) plt.show()

    Bokeh

    不依赖于 matplotlib 并且实现的是面向现代浏览器的可视化

    import pandas as pd from bokeh.charts import Bar budget = pd.read_csv("mn-budget-detail-2020.csv") budget = budget.sort('amount',ascending=False)[:10] details = budget["detail"].values.tolist() amount = list(budget["amount"].astype(float).values) bar = Bar(amount, details, filename="bar.html") bar.title("MN Capital Budget - 2020").xlabel("Detail").ylabel("Amount") bar.show()

    Plot.ly

    可以分析和可视化的在线工具

    mport plotly.plotly as py import pandas as pd from plotly.graph_objs import * budget=pd.read_csv("mn-budget-detail-2020.csv") budget.sort('amount',ascending=False,inplace=True) budget = budget[:10] data = Data([ Bar( x=budget["detail"], y=budget["amount"] ) ]) layout = Layout( title='2020 MN Capital Budget', font=Font( family='Raleway, sans-serif' ), showlegend=False, xaxis=XAxis( tickangle=-45 ), bargap=0.05 ) fig = Figure(data=data, layout=layout) plot_url = py.plot(data,filename='MN Capital Budget - 2020') py.image.save_as(fig, 'mn-20-budget.png')

    网站免费工具

    QlikTableau PublicInfogram

    最后

    这第一篇博客先说明数据抓取到可视化分析的总体思路,下篇主要说一些比较靠近专业编程可能会使用使用到的技巧,比如如何做好看的词云,如何做数据清晰,如何做情感分析等等,后面做逐一介绍。

    Processed: 0.011, SQL: 8