首先开始机器学习的入门学习,简单上手以后就可以开始数据分析的板砖工程了。先是要学习些Python的基础工具包,pandas,numpy,matplotlib等,主要在jupyter notebook交互式编译器进行编程训练。
Numpy是Python科学计算的一个基础包,许多内容都基于Numpy以及构建与其上的库。除了为Python提供了快速的数组处理能力,Numpy还在数据分析方面有另外一个作用,就是作为在算法之间传递数据的容器(Numpy使用低级语言C、Forturn等编写的,可以直接操作Numpy数组中的数据),无需进行任何的复制操作。
ndarray——多维数组对象
数组、Numpy数组、ndarray等都指ndarray对象
该对象是一个快速而灵活的数据集容器,运用这个对象可以对整块数据进行些数学运算。
ndarray是一个通用的同构数据多维容器,意思就是说,其中的所有元素都必须是相同类型的。shape(表示各维度大小的元组),dtype(用于说明数组数据类型的对象)。
创建见到的ndarray的办法就是array函数,他接受一切序列型的对象(可以数组中包括数组),然后产生一个新的含有传入数据的Numpy数组,如:
[In] data = [5,6,7.8]
[In] arr = np.array(data)
[In] arr
[Out] array([5.,6.,7.8])
数组嵌套数组的情况和以上的情况相似,只不过是成为多维数组。
如果不是显示说明数据类型,np.array会自动为新建的数组推断出一个合适的数据类型,比如说上面的:
[In] arr.dtype
[Out] dtype('float64')
这就是Python编程高级的一个体现。
还有些函数也可以新建数组,比如zeros和ones分别可以创建指定长度或形状的全为0或全为1的数组;empty可以创建一个没有任何具体值的数组(注意,np.empty不会返回全是0的数组,大多数情况下他返回的都是一些未进行初始化的垃圾值),要使用这些函数,仅仅需要传入一个表示形状和大小的元组即可。
arange是Python中内置随机函数range的数组版本:
[In] np.arange(8)
[Out] array([0, 1, 2, 3, 4, 5, 6, 7])
上面给出了一些常用的创建数组的函数,可以多加以训练。
ndarray的数据类型
dtype是一个特殊的对象,他含有ndarray将数组解释成特定数据类型所需的类型:
[In] arr1 = np.array([1,2,3], dtype = np.float64)
[In] arr1.dype
[Out] dtype('float64')
你也可以选择通过ndarr