本人是一个数据分析的爱好者,由于脑子不够灵光,所以决定通过写博客来记录自己的学习过程。
百度许久,遍历教程无数,发现做数据分析主要有一下的工具:
1、SAS:SAS(STATISTICAL ANALYSIS SYSTEM,简称SAS)公司开发的统计分析软件,是一个功能强大的数据库整合平台。价格昂贵,银行或者大企业才买的起,做离线的分析或者模型用。
2、SPSS:SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案)是IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的产品,迄今已有40余年的成长历史,价格昂贵。
3、R/MATLAB:适合做学术性质的数据分析,在实际应用上需要额外转换为Python或Scala来实现,而且MATLAB(MathWorks公司出品的商业数学软件)是收费的。
4、Scala:是一门函数式编程语言,熟练使用后开发效率较高,配合Spark适合大规模的数据分析和处理,Scala的运行环境是JVM。
5、Python:Python在数据工程领域和机器学习领域有很多成熟的框架和算法库,完全可以只用Python就可以构建以数据为中心的应用程序。在数据工程领域和机器学习领域,Python非常非常流行,学到的技术是自己的,免费思密达。
奈何穷光蛋一个,看来看去,之所以选择基于Pytho进行数据分析的学习,主要还是因为免费这等接地气的词汇深得我心,说句实在话,学习编程对于我这工程类专业出身的人士,难于上青天,两个月过去了,编程能力还是半桶水。好在终于是看懂了一些Python的语法,这几天学到了numpy和pandas,基本操作记了又忘,我知道应该是我实际操作还不够多,但我还是想做这么一篇学习笔记记录及巩固所学内容。
说在前面,本笔记大多均摘自古墓派掌门,在自学numpy过程中,我依照该博客笔记进行代码练习,之所以再写这么一篇文章,仅仅是想记录自己的自学过程,在这里我由衷的感谢该博主的知识分享。言归正传。
1.创建矩阵
Numpy库中的矩阵模块为ndarray对象,有很多属性:T,data, dtype,flags,flat,imag,real,size,
itemsize,nbytes,ndim,shape,strides,ctypes,base等等。
1.1采用ndarray对象
import numpy as np #引入numpy库
#创建一维的narray对象
a = np.array([1,2,3,4,5])
#创建二维的narray对象
a2 = np.array([[1,2,3,4,5],[6,7,8,9,10]])
#创建多维对象以其类推
1.2通过函数创建矩阵
1.2.1 arange
import numpy as np
a = np.arange(10) # 默认从0开始到10(不包括10),步长为1
print(a) # 返回 [0 1 2 3 4 5 6 7 8 9]
a1 = np.arange(5,10) # 从5开始到10(不包括10),步长为1
print(a1) # 返回 [5 6 7 8 9]
a2 = np.arange(5,20,2) # 从5开始到20(不包括20),步长为2
print(a2) # 返回 [ 5 7 9 11 13 15 17 19]
1.2.2 linspace
linspace()和matlab的linspace很类似,用于创建指定数量等间隔的序列,实际生成一个等差数列。
1 import numpy as np
2
3 a = np.linspace(0,10,5) # 生成首位是0,末位是10&