认识Python模块——Numpy(1)
程序员文章站
2022-05-18 17:15:02
...
纸上得来终觉浅,绝知此事要躬行!
NumPy(Numerical Python),科学计算和数据分析的基础包,是数据分析高级工具的构建基础。
主要功能:
- ndarray,矢量算术运算、复杂广播能力(Broadcasting)
- 对应于列表间进行的标准数学函数
- 磁盘、内存内文件数据的读写
- 线性代数、随机数、傅里叶变换
通常引用NumPy的方式如下。简写np只是为了通俗,看个人爱好。
import numpy as np
NumPy中的N维数组对象(ndarray)是个大数据容器。每个数组都有shape和dtype函数,且所有元素必须同类型。
直接使用array函数就可以创建数组,能够接受一切序列型对象。
一些特殊数组的创建:
零数组zeros、1数组ones、“空”数组empty(没有任何具体值,通常返回未初始化的垃圾值)、等差数组arange
np.zeros(5)
# array([ 0., 0., 0., 0., 0.])
np.ones((3,4))
# array([[ 1., 1., 1., 1.],
# [ 1., 1., 1., 1.],
# [ 1., 1., 1., 1.]])
np.arange(2,9,1.5)
# array([ 2. , 3.5, 5. , 6.5, 8. ])
函数 | 说明 |
---|---|
array | 将输入数据转换为ndarray。 |
asarray | 将输入数据转换为ndarray,如果输入本身就是一个ndarray就不进行复制。 |
arange | 类似于内置函数range、返回一个ndarray。 |
ones、ones_like | 根据指定的形状和dtype创建一个全1的数组。 |
zeros、zeros_like | |
empty、empty_like | |
eye、identity | 创建一个正方的NXN单位矩阵 |
ndarray的数据类型由内置函数dtype表征。也可以通过astype方法显式地转换dtype:
arr=np.array([1,2,3,4,5])
arr.dtype
# dtype("int32")
float_arr=arr.astype(np.float64)
float_arr.dtype
# dtype("float64")
不同大小的数组之间的运算叫做广播(broadcasting)。
数组基本使用:与标量之间的运算,索引\切片、转置、轴对称
花式索引:利用整数数组进行索引。不同于切片,花式索引总是将数据复制到新数组中。
a=[[j for i in range(4)] for j in range(8)]
arr=np.array(a)
# array([[0, 0, 0, 0],
# [1, 1, 1, 1],
# [2, 2, 2, 2],
# [3, 3, 3, 3],
# [4, 4, 4, 4],
# [5, 5, 5, 5],
# [6, 6, 6, 6],
# [7, 7, 7, 7]])
arr[3:-1]
# array([[3, 3, 3, 3],
# [4, 4, 4, 4],
# [5, 5, 5, 5],
# [6, 6, 6, 6]])
arr[[3,6,-3]]
# array([[3, 3, 3, 3],
# [6, 6, 6, 6],
# [5, 5, 5, 5]])
上一篇: python中的numpy模块
下一篇: 统计词性语料库