数据分析准备工作1.数据分析工具
2.数据分析的库 Python数据分析这么流行,其中跟两个第三方的库非常相关,一个是Numpy,一个是Pandas,这两个库如果你要做数据分析,必须要熟练掌握使用~~
当然上面都是一些入门必学技能,继续修炼的话需要了解大数据的处理,以及一些机器学习的库sk-learn和深度学习的一些框架
初探numpy3.什么是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: print n >> 1 2 3 4 5.Ndarray和Python list的不同之处 a).Ndarray里面的元素必须是同一种类型 (int,float,string_,bool, ...) 要么都是int,要么都是float,要么都是字符串 n1=np.array(['a','b','c',100]) >> ['a' 'b' 'c' '100'] 因为ndarray要求所以的类型必须一样,你会发现100变成了字符串'100' b).矢量运算 比如相加 a1=np.array([1,2,3]) a2=np.array([4,5,6]) print a1+a2 >>[5,7,9] 而类似的加操作在list中 list1=[1,2,3] list2=[4,5,6] print list1+list2 >>[1,2,3,4,5,6] 比如相乘 a1=np.array([1,2,3]) print a1*3 >>[3,6,9] 而类似的操作在list中 a1=[1,2,3] print a1*3 >>[1,2,3,1,2,3,1,2,3] 比如乘方 先产生3*3矩阵,每个数字都是0-9之间 arr1=np.random.randint(0,10,(3,3)) print arr1 >> [[6 7 5] [9 6 0] [5 5 9]] arr2=arr1**2 print arr2 >> [[36 49 25] [81 36 0] [25 25 81]] c).内置了一些通用(ufunc)函数 比如max(),min(),argmax(),argmin(),mean()计算中位数,std()计算均方差等函数
留一个思考题题目一: a=np.array([1,2,3,4,5]) b=a a+=np.array([1,1,1,1,1]) print b 题目二: a=np.array([1,2,3,4,5]) b=a a=a+np.array([1,1,1,1,1]) print b 看看题目一和题目二的print b的结果是什么,会一样吗? |
| 本文出处: http://www.toutiao.com/a6417596439458824449/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|