欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

认识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