数据分析之python语言概述

白癜风医院南宁哪家好 http://pf.39.net/bdfyy/bdflx/140801/4438675.html

作者看着网上各种数据分析的知识泛滥,但是没有什么体系,初学者不知道学哪些,不知道学多少,不知道学多深,单纯一个python语言,数据分析会用到那种程度,不可能说像开发那样去学,numpy如果不是做算法工程师用到的知识并不多,pandas知识杂乱无章,哪些才是最常用的功能等等,作者不忍众生皆苦,决定写一套python数据分析的全套教程,目前已完成一部分课件的制作。需要说明的是,作为一名数据分析师,你应该先会一点Excel和SQL知识,相关的内容,网上很多。但是,即便你一点Excel和SQL都不会也不会影响这部分的学习!目前作者整理的大纲如下:

第一章python编程基础

1.1python语言概述1.2数据科学神器--Anaconda介绍与安装1.3标准输入输出1.4变量定义与赋值1.5数据类型1.6流程控制语句1.7函数

1.8面向对象编程第二章python数据清洗之numpy2.1核心ndarray对象的创建2.2ndarray对象常用的属性和方法2.3ndarray对象的索引和切片2.4ndarray对象的分割与合并2.5ndarray对象的广播(Broadcast)2.6numpy中的算术运算函数2.7numpy中的统计函数2.8numpy中的排序搜索计数去重函数2.9numpy中的字符串函数2.10numpy中可能会用到的线性代数模块(后期机器学习会用到一点)

第三章数据清洗神器pandas

3.1pandas核心对象之Series对象的创建常用属性和方法3.2pandas核心对象之DataFrame对象的创建常用属性和方法3.3DataFrame对象的列操作和行操作3.4DataFrame对象的索引和切片3.5DataFrame对象的布尔索引3.6数据的读入与导出3.7groupby分组运算3.8数据合并与数据透视

第四章数据可视化matplotlibseabornpyecharts

4.1包括常用图形的绘制,略

第五章实战案列

5.1拉勾网数据分析相关职位分析5.2boss直聘数据分析相关职位分析5.3珍爱网女性用户数据分析

第六章机器学习

机器学习部分,简单的算法会讲手写,难的就用scikit-learn实现,可能有小伙伴说,这是调包侠干的,小哥哥!小姐姐!哪有那么多公司,那么多人自己干写算法的,有几个人敢说他写的算法比scikit-learn写得好?再说了,你是数据分析师,这些是你的工具,解决问题的!不是一天到晚拉格朗日对偶性!先来个机器学习介绍,然后如下:

6.1K近邻算法6.2Kmeans算法6.3决策树阶段案列:决策树案列(保险行业)6.4线性回归岭回归Lasso回归6.5逻辑回归6.6朴素贝叶斯阶段案列:推荐系统(电商玩具)6.7随机森林6.8Adaboost6.9梯度提升树GBDT6.10极端梯度提升树Xgboost6.11支持向量机SVM6.12神经网络阶段案例:Xgboost案例

------------------------------本节内容-----------------------------------------

python语言概述

在说python之前,我们还是先来看看计算机软硬件的发展历史。

1计算机硬件的发展历史

第一代计算机-电子管计算机(-)

无论如何,一项技术的突破必然伴随着其他行业的突破,简而言之,电子计算机的出现,前提必须有电子技术的进步,否则一切都是空谈!下面是我列举出计算机硬件的发展过程中,一些比较重要的事件。

年,美国的LeeDeForest发明了电子管。在这之前造出数字电子计算机是不可能的。这为电子计算机的发展奠定了基础。

年2月,一个具有划时代意义的公司成立,IBM。

年,IBM推出IBM机。这是一台能在一秒钟算出乘法的穿孔卡片计算机。这台机器无论在自然科学还是在商业意义上都具有重要的地位。大约造了台。

年,英国剑桥大学的AlanM.Turing(-)出版了他的论文,并提出了被后人称之为图灵机的数学模型。

年,美国贝尔试验室的GeorgeStibitz展示了用继电器表示二进制的装置。尽管仅仅是个展示品,但却是世界上第一台二进制电子计算机。

年,Atanasoff和学生Berry完成了能解线性代数方程的计算机,取名叫ABC(Atanasoff-BerryComputer),用电容作存储器,用穿孔卡片作辅助存储器,那些孔实际上是烧上的。时钟频率是60HZ,完成一次加法运算用时一秒。这就是ABC计算机。

年,美国宾夕法尼亚大学,第一台通用电子计算机ENIAC(ElectronicNumericalIntegrator和Computer)诞生,总工程师埃克特在当时年仅25岁。

这时的计算机的基本线路是采用电子管结构,程序从人工手编的机器指令程序(01),过渡到符号语言(汇编),电子管计算机是计算工具革命性发展的开始,它所采用的进位制与程序存贮等基本技术思想,奠定了现代电子计算机技术基础。以冯·诺依曼为代表。

第二代计算机——晶体管计算机(时间~)

电子管时代的计算机尽管已经步入了现代计算机的范畴,但其体积之大、能耗之高、故障之多、价格之贵大大制约了它的普及应用。直到晶体管被发明出来,电子计算机才找到了腾飞的起点,一发而不可收……

20世纪50年代中期,晶体管的出现使计算机生产技术得到了根本性的发展,由晶体管代替电子管作为计算机的基础器件,用磁芯或磁鼓作存储器,在整体性能上,比第一代计算机有了很大的提高。

第三代计算机——中小规模集成电路计算机(时间~)

20世纪60年代中期,计算机发展历程随着半导体工艺的发展,成功制造了集成电路。中小规模集成电路成为计算机的主要部件,主存储器也渐渐过渡到半导体存储器,使计算机的体积更小,大大降低了计算机计算时的功耗,由于减少了焊点和接插件,进一步提高了计算机的可靠性。

第四代计算机——大规模和超大规模集成电路计算机(时间~至今)

随着大规模集成电路的成功制作并用于计算机硬件生产过程,计算机的体积进一步缩小,性能进一步提高。集成更高的大容量半导体存储器作为内存储器,发展了并行技术和多机系统,出现了精简指令集计算机(RISC),软件系统工程化、理论化,程序设计自动化。微型计算机在社会上的应用范围进一步扩大,几乎所有领域都能看到计算机的“身影”。

第五代计算机——泛指具有人工智能的计算机(至今~未来)

目前还没有明确地定义

2简述计算机软件的发展历史

编程语言的发展

计算机软件系统的发展,也伴随着编程语言的发展。计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。

机器语言:简单点说,机器本身也只认识0和1,电路无非就只有通和断两种状态,对应的二进制就是二进制的1和1。

汇编语言:汇编语言只是把一些特殊的二进制用特殊的符号表示,例如,机器要传送一个数据,假设“传送”这个指令对应的机器码是,则人们把用一个特殊符号,比如mov来表示,当人们要用这个指令时用mov就行,但是mov的本质还是,没有脱离硬件的范围,有可能这个指令不能在其他机器上用。

高级语言:高级语言完全脱离了硬件范畴,所有的语法更贴近人类的自然语言,人们只需要清楚高级语言的语法,写出程序就行了,剩下的交给编译器或者解释器去编译或者解释成机器语言就行了,看,这样就完全脱离了硬件的范畴,大大提高了程序的开发效率。接下来我们就来看看高级语言的发展,高级语言非常多,我们主要看看比较经典的几个。

高级语言的发展

B语言与Unix

20世纪60年代,贝尔实验室的研究员KenThompson(肯·汤普森)发明了B语言,并使用B编了个游戏-SpaceTravel,他想玩自己这个游戏,所以他背着老板找到了台空闲的机器-PDP-7,但是这台机器没有操作系统,于是Thompson着手为PDP-7开发操作系统,后来这个OS被命名为-UNIX。

C语言

年,KenThompson(肯·汤普森)的同事D.M.Ritchie(DM里奇),也很想玩SpaceTravel,所以加入了KenThompson,合作开发UNIX,他的主要工作是改进Thompson的B语言。最终,在年这个新语言被称为C,取BCPL的第二个字母,也是B的下一个字母。

C语言和Unix

年,C主体完成。KenThompson和D.M.Ritchie迫不及待的开始用C语言完全重写了UNIX。此时编程的乐趣已经使他们完全忘记了那个“SpaceTravel”,一门心思的投入到了UNIX和C语言的开发中。自此,C语言和UNIX相辅相成的发展至今。

类C语言起源、历史

C++(CplusplusProgrammingLanguage)-

还是贝尔实验室的人,BjarneStroustrup(本贾尼·斯特劳斯特卢普)在C语言的基础上推出了C++,它扩充和完善了C语言,特别是在面向对象编程方面。一定程度上克服了C语言编写大型程序时的不足。

Python(PythonProgrammingLanguage)--

年圣诞节期间,GuidovanRossum在阿姆斯特丹,GuidovanRossum为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫MontyPython的喜剧团体的爱好者。第一个Python的版本发布于年。

Java(JavaProgrammingLanguage)-

Sun公司的PatrickNaughton的工作小组研发了Java语言,主要成员是JamesGosling(詹姆斯·高斯林)

C(CSharpProgrammingLanguage)-

Microsoft公司的AndersHejlsberg(安德斯·海尔斯伯格)发明了C,他也是Delphi语言之父。

当然现在还有一些新语言,比如年Google的go语言,以及麻省理工的julia等。

3为什么是Python

Python有哪些优点

1语法简单漂亮:我们可以说Python是简约的语言,非常易于读写。在遇到问题时,我们可以把更多的注意力放在问题本身上,而不用花费太多精力在程序语言、语法上。

2丰富而免费的库:Python社区创造了各种各样的Python库。在他们的帮助下,你可以管理文档,执行单元测试、数据库、web浏览器、电子邮件、密码学、图形用户界面和更多的东西。所有东西包括在标准库,然而,除了它,还有很多其他的库。

3开源:Python是免费开源的。这意味着我们不用花钱,就可以共享、复制和交换它,这也帮助Python形成了丰富的社区资源,使其更加完善,技术发展更快。

4Python既支持面向过程,也支持面向对象编程。在面向过程编程中,程序员复用代码,在面向对象编程中,使用基于数据和函数的对象。尽管面向对象的程序语言通常十分复杂,Python却设法保持简洁。

5Python兼容众多平台,所以开发者不会遇到使用其他语言时常会遇到的困扰。

Python有哪些作用

Python是什么都能做,但是我们学的是数据分析,我们看看在数据分析领域Python能做什么。

数据采集:以Scrapy为代表的各类方式的爬虫

数据链接:Python有大量各类数据库的第三方包,方便快速的实现增删改查

数据清洗:Numpy、Pandas,结构化和非结构化的数据清洗及数据规整化的利器

数据分析:Scikit-Learn、Scipy,统计分析,科学计算、建模等

数据可视化:Matplotlib、Seaborn等等大量各类可视化的库

所以说总结,为什么数据科学选的是python,最重要就是两个原因:

1语法简单漂亮

2大量丰富免费的第三方库




转载请注明:http://www.aierlanlan.com/cyrz/942.html