专栏名称: 爱数据原统计网
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据原统计网

Python数据分析之路 | 入门起航篇

爱数据原统计网  · 公众号  · BI  · 2017-07-27 17:00

正文


Python有两个非常有趣的方向,一条是数据分析,然后掌握数据分析的基本方法(NumPy,Pandas,mapplotlib),然后再往下就是数据挖掘,机器学习,深度学习,人工智能,另外一条就是web开发。


数据分析准备工作



1.数据分析工具


  • 工欲善其事,必先利其器 ,网上有很多关于数据分析的文章,相信大家一定听过R语言和Python之争,而且各有千秋,R语言在学术界更流行,但是在做项目上面我个人比较喜欢Python,Python更通用,更简洁,文档也很多,而且有大量的库特别是Google,Facebook都开源了很多功能强大的库,非常不错.所以语言我们选Python.


  • 开发工具的话,建议大家用Anaconda, 是一个强大的科学计算的Python发行版,首推数据分析开发工具.支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。


推荐使用里面的spyder和Jupyter Notebook非常不错,界面美观而且调试方便


2.数据分析的库


Python数据分析这么流行,其中跟两个第三方的库非常相关, 一个是Numpy,一个是Pandas ,这两个库如果你要做数据分析,必须要熟练掌握使用~~


  • Numpy偏数组多一点,特别是多维数组,矩阵,非常灵活方便.内置了大量的矩阵的操作,对于科学计算来说简直就是神器.


  • Pandas偏series多一点,而且跟时序相关,内置了大量库和一些标准的数据模型,特别是对于大型的数据的处理,非常的高效和快捷.


  • 比如对于一个1000万行的CVS数据的处理,用字典去处理大概需要60几秒,而pandas只需要4秒,而且代码行更少.以后我们会用实战例子去证明这一点


当然上面都是一些入门必学技能,继续修炼的话需要了解大数据的处理,以及一些机器学习的库sk-learn和深度学习的一些框架


初探numpy


3.什么是NumPy


1).Numpy全称叫Numeric Python ,听名字就知道跟数值有关,没错numpy,提供了许多高级的数值编程工具,如:矩阵运算、多维数组,矢量运算,线性代数,随机数的生成,均方差等这些科学计算操作非常方便.


2).Ndarray 对象


Numpy里面有一个最最有名的Ndarray对象,几乎所有的操作都围绕这个Ndarray来,也叫多维数组.


数组是主流语言的标配数据结构,Python中的列表其实也是这样的一种数据结构,但是列表跟数组不一样;比如列表的元素可以是任意的类型,列表需要保存每个对象的指针和对象,很浪费内存空间,而且不支持多维数组


Ndarray会支持多维数组,而且数组之间的转换非常方面,内置了很多高效的内建函数,都是用C写的,有利于节省内存和提高CPU的计算时间。 比如需要计算一百万数据的正弦函数用numpy比python里的标准函数要快近10倍~~


4.Ndarray和Python list的相似之处

import numpy

n1=numpy.array(['AA','BB','CC','DD','EE'])

list1=['AA','BB','CC','DD','EE']

a).都可以通过下标去访问

print n1[0]

>>'AA'

print list1[0]

>>'AA'


b).都可以切片去访问

n1=numpy.array(['AA','BB','CC','DD','EE'])

list1=['AA','BB','CC','DD','EE']

print n1[1:3]

>>['BB' 'CC']


print list1[1:3]

>>['BB', 'CC']


c).都可以用循环处理

n1=numpy.array([1,2,3,4])

for n in n1:







请到「今天看啥」查看全文