python数据分析结构思维导图,python组合数据类型思维导图
关于Python数据分析,其实网上可以找到的学习资源很多,主要分为两类:一类是提供各种资源的推荐,比如书单、教程、学习序列;另一类是提供具体的学习内容,知识点或者实际案例。
但是大量繁琐杂乱的内容,除了给初学者增加理解和认识的噪音外,真正能起到明确方向和引导的,真的不多。所以很多人一开始没有明确方向就一头扎进去,学了很久却不知道自己到底在学什么,或者学了很久也不知道自己能做什么。
在学习一项技术之前,你应该知道你想要达到什么样的目标。也就是说你想通过这个技术解决什么问题。你可以知道它的知识体系是什么样的,才能达到这样的目标。更重要的是,每个部分用来解决什么问题,只有明确的目标导向,学习最有用的那部分知识,才能避免无效信息降低学习效率。
通过这些常见的数据分析场景,可以得到数据分析项目的基本流程。一般可以按照“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据报告”的步骤实施一个数据分析项目。
按照这个流程,每个部分需要掌握的细分知识点如下:
接下来,我们将从每一部分入手,谈谈我们应该学什么,怎么学,并有条理地展示每一部分的主要知识点,有针对性地推荐学习资源。
如何获取数据
我们分析的数据一般包括内部数据和外部数据。
内部数据是在我们的业务运营中产生的,比如常见的用户数据、产品数据、销售数据、内容数据等等。内部数据相对更完善,更有规律,我们经常要做的工作汇报、产品优化等分析数据一般都来源于此。可以找公司的技术人员要,也可以自己去数据库提取。
当然,很多时候,我们需要使用外部数据。比如在进行市场调研、竞品分析,或者输出报告时,对外部数据的分析必不可少,这也可以帮助我们得出更多的结论。
1. 公开数据源
UCI:加州大学欧文分校开的经典数据集,真的很经典,被很多机器学习实验室采用。
http://archive.ics.uci.edu/ml/datasets.html
国家数据:数据来自中国国家统计局,包括中国经济、民生等各方面的数据。
http://data.stats.gov.cn/index.htm
CEIC:超过128个国家的经济数据,可以准确找到GDP、CPI、进出口、国际利率等深度数据。
https://www.ceicdata.com/zh-hans
中国统计信息网:国家统计局官网汇集了我国各级政府大量的国民经济和社会发展统计信息。
http://www.tjcn.org/
政务数据网站:目前各省都在很大程度上开放自己的政府数据,如北京、上海、广东、贵州等。都有专门的数据开放网站,比如搜索“北京市政府数据开放”。
2.网络爬虫
基于互联网抓取的数据,可以分析某个行业,某个人群。例如:
职位数据:拉勾、猎聘、51job、智联
数据:Snowball.com IT Orange
房产数据:链家、安居客、58同城
零售数据:淘宝、JD.COM、亚马逊
社交数据,微博,知乎,推特
视频资料:豆瓣、Time.com、猫眼
……
爬行之前,需要了解一些Python的基础知识:元素(列表、字典、元组等。)、变量、循环、函数(菜鸟教程不错).
以及如何使用成熟的Python库(urllib,BeautifulSoup,requests,scrapy)实现网络爬虫。
掌握了基础爬虫之后,还需要一些高级技能。如正则表达式、模拟用户登录、使用代理、设置抓取频率、使用cookie等。来应对不同网站的反爬虫限制。爬虫可以说是获取数据最灵活有效的方式,但是学习成本相对较高。建议先用公开数据进行分析,等更多数据需求后再用爬虫。那时候你已经掌握了Python基础,爬虫入门会更容易。
3.其他数据采集方法
如果暂时不会抓取,但是需要收集数据,可以尝试各种收集软件。不需要编程知识也可以轻松抓取信息,比如机车,章鱼。很多数据竞赛网站也会披露好的数据集,比如国外的Kaggle,国内的DataCastle,天池。这些数据都是真实的业务数据,规模通常都不小,我们可以经常收集整理。
推荐的数据汇总资源:
数据采集方法概述https://dwz.cn/Q44MsDkH
常用的数据采集方法如下:
数据存储和提取
这个数据库技能在这里是因为它是数据分析师的必备技能。大部分企业都会要求你具备数据库操作和管理的基本技能,能够提取和分析数据。作为最经典的关系数据库语言,SQL使得存储和管理海量数据成为可能。MongoDB是新兴的非关系数据库,掌握一个就好。
建议初学者使用的SQL。你需要掌握以下技能:
1.特定情况下的查询/提取数据:企业数据库中的数据一定是庞大而复杂的,你需要提取你想要的部分。
比如你可以根据你的需求提取2017年的所有销售数据,今年销量最大的50个单品的数据,上海和广东用户的消费数据.
2.数据库的增删改:这些都是数据库最基本的操作,但是用简单的命令就可以实现。
3.对数据进行分组和聚合,建立多个表之间的关系:这部分是数据库的高级操作和多个表之间的关系。
当您处理多维和多个数据集时,它非常有用,这也允许您处理更复杂的数据。
数据库听起来很可怕,但其实满足数据分析的技能部分应该不会太简单。当然,我建议你找一个数据集来实际操作,哪怕是查询、提取等最基本的操作。
推荐数据库教程:
SQL-菜鸟教程https://dwz.cn/a042MLdz
MongoDB-新秀教程https://dwz.cn/sJFhRzj1
mySQL知识框架如下:
MongoDB知识框架如下:
数据清理和预分析
很多时候,我们得到的数据并不干净,比如数据重复、缺失、异常值等等。这时候就需要对数据进行清洗,对这些影响分析的数据进行处理,从而获得更加准确的分析结果。比如空气质量数据,有很多天的数据由于设备原因没有监测到,有些数据重复记录,有些数据在设备出现故障时失效。比如用户行为数据,有很多无效操作对分析没有意义,所以需要删除。
选择:数据访问(标签、特定值、布尔索引等。)
缺失值处理:删除或填充缺失的数据行。
重复值处理:重复值的判断和删除。
空白和异常值处理:清除不必要的空白和极端异常数据。
相关操作:描述性统计、应用、图形绘制等。
从数据处理开始,你需要接触编程知识,但不必完全啃完Python的教程。你只需要掌握数据分析所必需的部分。
基本数据类型:如字符串、列表、字典、元组,如何创建、添加、删除、改变不同的数据类型,常用的函数和方法;
Python函数:学习如何创建自己的函数,实现更丰富的定制程序,知道如何在使用中调用;
控制语句:主要是条件语句和循环语句。使用不同的语句来控制进程,这是实现程序自动化的基础。
Python教程推荐:
Python3-新秀教程https://dwz.cn/2nJnWkrp
Python动手项目集https://dwz.cn/cpM0jua5
Python的基础知识框架如下:
此外,Python中两个非常重要的库Numpy和Pandas也需要掌握,我们的很多数据处理和分析方法都来源于它们。如果把Python比作我们的房子,为我们提供基本的框架,那么Numpy和熊猫就是房子里的家具和电器,提供各种功能供我们入住。当然,即使只是这两个库,公文内容也是非常多的。建议先掌握一些最常用的方法,这样可以解决大部分实际问题。如果以后遇到问题,可以针对性的查询文档。
数组
数组创建:从现有数组创建,从数值范围创建。
数组切片:切片选择。
数组操作:添加和删除元素,修改数组维数,划分和连接数组。
Numpy函数:字符串函数、数学函数和统计函数
推荐的Numpy文档:
Nump快速启动http://h5ip.cn/ypHr
Numpy中文文档https://www.numpy.org.cn/
Numpy知识框架如下:
熊猫
数据准备:数据读取和数据表创建。
数据查看:查看数据的基本信息,查找空值和唯一值。
数据清洗:缺失值处理、重复值处理和字符处理。
数据提取:按标签值提取和按位置提取。
数据统计:抽样、汇总和基本统计计算。
推荐的熊猫文档:
十分钟后开始熊猫http://t.cn/EVTGis7
熊猫中文文档https://www.pypandas.cn/
熊猫的知识框架如下:
数据清洗是数据预处理的重要一环,也是耗时最长的一环。所以很多文章总结脑图来帮你梳理数据清理的处理步骤,让你知道如何开始数据清理。
文章和数据如下:
专栏1:数据清洗https://zhuanlan.zhihu.com/dataclean:详细介绍了数据清洗的主要方面。
专栏2: Python 3熊猫库https://zhuanlan.zhihu.com/c_129235459:熊猫库主要用于数据清理,里面有很多函数。本专栏相对清晰地介绍了主要功能。
书籍:《利用python进行数据分析》
数据分析及建模
如果你有点知识,你就知道目前市面上其实有很多Python数据分析的书,但是每一本都很厚,学习阻力非常大。如果没有整体的了解,往往不知道为什么要学习这些操作,不知道这些操作在数据分析中起到什么作用。为了得出一个总的结论(或从一个总的数据分析项目中),我们通常进行三种类型的数据分析:描述性分析、探索性分析和预测性分析。
描述性分析主要是对数据进行描述,这依赖于统计学的知识,如基本统计、总体样本、各种分布等等。
通过这些信息,我们可以对数据有一个初步的感知,也可以得到很多单纯观察得不到的结论。
其实描述性分析主要需要两部分知识,一个是统计学的基础,一个是实现描述性分析的工具,用上面Numpy和熊猫的知识就可以实现。
探索性分析通常需要可视化手段和图形化手段来进一步观察数据的分布规律,发现数据中的知识,得到更深层次的结论。
所谓“探索”,其实有很多结论是我们无法提前预测的,数字弥补了观察数据和简单统计的不足。
Python中的Seaborn和Matplotlib库都提供了强大的可视化功能。
与Matplotlib相比,Seaborn更简单,更容易理解。画基本图形也就几行代码的事,比较推荐新手。
如果以后需要自定义图形,可以多了解一下Matplotlib。
预测性数据分析主要用于预测未来数据,比如根据历史销售数据预测未来某段时间的销售情况,比如通过用户数据预测未来用户的行为…
预测分析有点难,越深入会涉及到越多的数据挖掘和机器学习的知识,可以只做基础知识(或者等需要学习的时候)。
比如基本的回归和分类算法,以及如何用Python的scikit-learn库实现。至于机器学习相关的算法选择和模型调优,就不必深究了(除非你对它感到舒服)。
推荐数据分析数据:
书籍《深入浅出统计学》
Matplotlib中文文档https://www.matplotlib.org.cn
十分钟后到达西本https://dwz.cn/4ePGzwAg大师
scikit-学习中文文档http://sklearn.apachecn.org
数据分析和建模的知识框架如下:
编写数据报告
数据报表是整个数据分析项目的最终呈现,也是所有分析过程的总结,是输出结论和策略的部分。所以不管你的心路历程有多精彩,数据报告才是最终决定你分析价值的产品。要写好分析报告,首先要明确数据分析任务的目标,要挖掘数据中的知识,要优化产品或者预测未来的数据。针对这些目标,需要拆分问题,要达到目标必须输出哪些有价值的信息。
对于最后的决策,哪些数据和信息有用,是否进一步探究,哪些无效,是否直接丢弃。在确定了输出的大致内容,并在数据分析的过程中得到了有用的结论之后,接下来就应该思考如何整合这些零散的信息,以及应该用什么样的逻辑进行整合,才能达到最终的说服力。
这是一个建立框架的过程,也体现了拆解这个问题的思路。建立框架后,就是把已有的结论填上,选择合适的表达方式。选取更合适的数据,哪些需要更直观的图表,哪些结论需要详细的说明,进行最后的美化设计,这样就完成了一份完整的数据分析报告。
写分析报告时,有几点必须注意:
1.必须有一个框架。最简单的就是用问题拆分的逻辑来构建,在每个分支中填入内容,逐点讲解;
2.数据的选择不能太片面,要多元化,要进行对比分析,否则结论可能会有偏差。
数据的价值决定了分析项目的上限,从而收集尽可能多的有用数据进行多维分析;
3.结论必须有客观的数据论证或严密的逻辑推导,否则没有说服力,特别容易陷入自我满足;
4.图表比文字更直观,可读性更强,要多利用图形表达;
5.分析报告不仅仅是说明问题,更重要的是根据问题提出建议、解决方案和预测趋势;
6.多看行业报道,多实践。后期商业意识比技能更重要。
推荐数据报告相关网站:
http://report.iresearch.cn/空中网数据报告
友盟-数据报告http://t.cn/EVT6Z6z
世界经济论坛报告http://t.cn/RVncVVv
普华永道http://t.cn/RseRaoE行业报告
编写数据报告的框架如下:
以上是Python数据分析的完整学习路径。它只需要一些商业常识,比如均值、极值、排名、相关性、中位数.这些我们亲手挑选的东西,往往占据了数据分析的绝大部分。你所学的只是实现这些东西的工具。就像一个100行的数据,如果给任何一个智力正常的人,他都可以在不需要任何工具和编程技术的情况下得到一个基本结论,而工具可以提高我们的效率、可扩展性和实现维度。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。