numpy

Numpy Numerical Python 是python语言中做科学计算的基础库,重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型,多维数组上执行的数值运算。

数组和列表的区别:数组中存储的数据元素类型必须统一,如果有不统一按照优先级统一;’优先级:字符串>浮点型>整数

1.数组创建

2.数组属性

3.索引和切片

4.级联和轴向

5.数组聚合

6.数组函数

7.矩阵

 

1.创建numpy数组  

  numpy.array([x,x,x]) # 返回列表中元素的一维数组

  numpy.ones((3,4))  # 返回全1 的3行4列二维数组

          

 

  numpy.linspace(0,100,num=20)  # 一维的等差数列数组,0-100 取20个数字的等差数列一维数组

  numpy.arange(10,50,step=2)  # 返回10-50之间,步长为2 的等差数列数组

  numpy.random.randint(0,100,size=(5,3))  # 返回1-100之间任意数组,5行3列的二维数组

  numpy.zeros((2,3)) # 返回2行3列的全零数组

          

 

 

   numpy.eye(4)  # 返回4行4列的单位矩阵

          

 

 

   numpy.diag((2,3,4))  # 返回对角阵

          

 

 

   numpy.logspace(1,10,31)  # 返回等比数组,默认以e为底,返回31个数。

          

 

 

   numpy.logspace(1,6,2,base=2)  # 返回以2为底的等比数组,返回两个数。start 2^1,end 2^6.

          

 

 

   numpy.random.randint(1,100,size=(2,3,4))   # 返回三维数组,取值范围为1-100的随机整数

2.数组的属性

  arr = np.random.randint(0,100,size=(5,6))

  arr.shape  # 返回数组的形状 (5,6)

  arr.ndim  # 返回数组的维度 2

  arr.size  # 返回数组中元素的个数 30

  arr.dtype  # 返回数组中元素的类型  dtype("int64")

    numpy的数据类型

      • array(dtype=?):可以设定数据类型
      • arr.dtype = '?':可以修改数据类型          # arr.dtype = 'uint8' #修改数组的元素类型
      • #创建一个数组,指定数组元素类型为int32
        arr = np.array([1,2,3],dtype='int32')

image.png

3.numpy数组的切片和索引

 arr = np.random.randint(1,100,size=(5,6))

   arr[1]    # 取出了numpy数组中的下标为1的行数据,下标从0开始

   arr[1][2][3]   # 三维数组的索引,下标从零开始

   arr[[1,3,4]]   # 取出多行

  arr[0:2]   # arr[行切片] 切除前两行数据

  arr[:,0:2]   # arr[行切片,列切片]  切除前两列数据,逗号分隔维度

  arr[0:2,0:2]  # 切出前两行的前两列的数据

  arr[::-1]     # 将数组的行倒置

  arr[:,::-1]    # 将数组的列倒置

  arr[::-1,::-1]   #  所有元素倒置

  arr.reshape((30,))    # 将二维的数组变形成1维

4.numpy数组级联操作

     级联:将多个数组进行拼接,只能在同样维度的两个数组之间使用

  axis轴向:0:列;  1:行

  1. mean(axis=0)计算的是每一列平均值, 
  2. mean(axis=1)计算的是每一行平均值。 
  3. drop(0,axis=0)删除行, 
  4. drop([‘col1’],axis=1)删除列。

  

5.常用的聚合操作:sum, max, min, mean

  

 

6.常用的函数

  常用的数学函数:numpy提供了标准的三角函数sin(),cos(),tan(). numpy.around(a,decimals)函数返回指定数字的四舍五入值, a:数组; decinals:舍入的小数位数,默认值为0,如果为负数,整数将四舍五入到小数点左侧的位置

  常用的统计函数:

    • numpy.amin() 和 numpy.amax(),用于计算数组中的元素沿指定轴的最小、最大值。
    • numpy.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)。
    • numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
    • 标准差std():标准差是一组数据平均值分散程度的一种度量。
      • 公式:std = sqrt(mean((x - x.mean())**2))
      • 如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
    • 方差var():统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根。

 

 

7.numpy数组矩阵相关

  numpy中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是ndarray对象,一个矩阵一个行列元素艾烈成的矩阵阵列

  numpy.matlib.identity()函数返回给定大小的单位矩阵。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此以外全部为0

  arr = numpy.eye(6)  # 返回一个标准的单位矩阵

  arr.T  # 转置矩阵

  numpy.dot(a, b, out=None)   #  a : ndarray 数组,  b : ndarray 数组

  

 

  第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积相加( 2 x 1 + 1 x 1),

  得到结果矩阵左上角的那个值3。也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和。

 

posted @ 2021-02-04 17:19  正在学Python  阅读(172)  评论(0编辑  收藏  举报