Python数据分析
Numpy
-
numpy是什么
- Numerical Python,是一个开源的Python科学计算库,使用Numpy可以方便的使用数组、矩阵进行计算,包含线性代数、傅里叶变换、随机数生成等大量函数
-
为什么使用Numpy
- 对于同样的数值计算任务,使用Numpy比直接Python代码实现,优点有:
- 代码更简洁
- 性能更高效
- Numpy是Python各种数据科学类库的基础库:
- 比如:Scipy、Scikit-Learn、TensorFlow、pandas等
- 对于同样的数值计算任务,使用Numpy比直接Python代码实现,优点有:
-
Numpy ndarray 对象
- Numpy定义了一个 n 维数组对象,简称 ndarray 对象,它是一个一系列相同类型元素组成的数组集合。数组中的每个元素都占有大小相同的内存块
- ndarray 对象采用了数组的索引机制,将数组中的每个元素映射到内存块上,并且按照一定的布局对内存块进行排列(行或列)
-
Numpy 创建数组
-
numpy.array
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
-
参数
参数 描述说明 object 表示一个数组 / 序列 dtype 可选参数,通过它可以更改数组的数据类型 copy 可选参数,当数据源是ndarray时,表示数组能否被复制,默认是True order 可选参数,以哪种内存布局创建数组,有3个可选值,分别是C(行序列) / F(列序列) / A(默认) ndmin 可选参数,用于指定数组的最小维度 subok 可选参数,类型为bool值,默认False。为True,使用object的内部数据类型;False,使用数组的数据类型 -
numpy.arange()生成区间数组
# 根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个ndarray numpy.arange(start, stop, step, dtype)
-
参数
参数 描述说明 start 起始值,默认为0 stop 终止值(不包含) step 步长,默认为1 dtype 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型 -
numpy.linspace()创建等差数列
# 返回在间隔 [开始,停止] 上计算的 num 个均匀间隔的样本,数组是一个等差数列构成 np.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None)
-
参数
参数 描述说明 start 必填项,序列的起始值 stop 必填项,序列的终止值,如果endpoint为True,该值包含于数列中 num 要生成的等步长的样本数量,默认为50 endpoint 该值为True时,数列中包含stop值,反之不包含,默认为True retstep 如果为True时,生成的数组中会显示间距,反之不显示 dtype ndarray的数据类型 -
numpy.logspace()创建等比数列
# 返回在间隔 [开始,停止] 上计算的num个均匀间隔的样本,数组是一个等比数列构成 np.logspace(start, stop, num = 50, endpoint = True, base = 10.0, dtype = None)
-
参数
参数 描述说明 start 必填项,序列的起始值 stop 必填项,序列的终止值,如果endpoint为True,该值包含于数列中 num 要生成的等步长的样本数量,默认是50 endpoint 该值为True时,数列中包含stop值,反之不包含,默认为True base 对数log的底数 dtype ndarray的数据类型 -
例
np.logspace(A, B, C, base = D)
- A:生成数组的起始值为D的A次方
- B:生成数组的结束值为D的B次方
- C:总共生成C个数
- D:指数型数组的底数为D,当省略base = D时,默认底数为10
-
全0数列
# 创建指定大小的数组,数组元素以0来填充 numpy.zeros(shape, dtype = float, order = 'C') # zeros_like 返回具有与给定数组相同的形状和类型的零数组 np.zeros_like(ar1)
-
参数
参数 描述说明 shape 数组形状 dtype 数据类型,可选 -
全1数列
# 创建指定大小的数组,数组元素以1来填充 numpy.ones(shape, dtype = float, order = 'C')
-
-
Numpy数组属性
-
Numpy的数组中比较重要ndarray对象属性有:
属性 说明 ndarray.ndim 秩,即轴的数量或维度的数量 ndarray.shape 数组的维度,对于矩阵,n行m列 ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值 ndarray.dtype ndarray对象的元素类型 ndarray.itemsize ndarray对象中每个元素的大小,以字节为单位 -
ndarray.shape
- 返回一个包含数组维度的元组,对于矩阵,n行m列,它也可以用于调整数组维度
-
调整维度reshape
- 返回调整维度后的副本,而不改变原ndarray
-
调整维度resize
numpy.resize(a, new_shape)
- 如果新数组大于原始数组,则新数组将填充a的重复副本
- 此行为与 a.resize(new_shape, refcheck = False) 不同,后者用零而不是重复的a填充
-
ndarray.ndim
- 返回数组的维度(秩):轴的数量,或者维度的数量,是一个标量,一维数组的秩为1,二维数组的秩为2
-
强制转换 astype()
- numpy数据类型转换,调用astype返回数据类型修改后的数据,但是源数据的类型不会变
-
-
复习