Numpy 的使用

模块的导入

  import numpy as np ---> 约定俗成 起别名 np

使用

  生成 ndarray 对象    

    arraynp.array([1,2,3,4,5]) ---> array([1, 2, 3, 4, 5])

    arange:np.arange(10) ---> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

        类似于python的 range 版本(前包后不包)

    linspace:np.linspace(起始位,末位) ----> 默认分成50等份, 且包含末位

              可以额外设置参数:endpoint=False ---> 不包含末位

                       num=10 ---> 指定为均分10份

    zeros:np.zeros(10) ---> array([0, 0, 0,0,0,0 ,0, 0 ,0 ,0])

    ones:np.ones(10) ---> array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

    empty:np.empty([2,2]) ---> 对于多维数组而言的(随机生成的值)

                array([[4.94065646e-324, 6.95252928e-310],

                   [6.95252928e-310, 6.95252928e-310]])

    eye:np.eye(10) ---> 如下:对角线的值为1, 10行10列:如下图:

                                                    


  ndarray 的属性

    转置:T ----> res.T 行列互换,行变列,列变行(4行3列 --> 3行4列)

    类型:dtype ----> res.dtype 可以使用astype进行数据类型的转换 res.astype('float')

    元素个数:size ---> res.size

    维度:ndim ---> res.ndim 一般我们用到的就是2维

    形状:shape ---> res.shape 以元祖的形式展现 还可以使用 reshape 来更改形状(维度)

        变一维:res.reshape(传一个值)

        变二维:reshape(传元祖,两个值) ---> 注:两个值的积必须等于一个值


   索引

    一维:与 python 中的 list 一致

    二维:需要两个值,逗号前面是行索引,后面是列索引

        如:res = np.array([1, 2, 3, 4],

                 [5, 6, 7, 8])

          res[1,1] = 6 ---> 表示取第二行第二列的值


 

  切片   

    一维:与 python 中的 list 一致

       如:res[1:4] res[:] res[:4]

    二维:需要两组值,逗号前面是行索引,后面是列索引

       如:res = array([[ 1, 2, 3, 4],

               [ 5, 6, 7, 8],

               [ 9, 10, 11, 12]])

         res[1:3, 1:3] = ([6,7], [10, 11]) ---> 表示取第二行到第四行且第二列到第四列的值(前包后不包)

 


 

  布尔型索引

    要求:给一个数组, 选出数组中大于5的数

import numpy as np
import random

li = [random.randint(1,10) for _ in range(20)]  # 随机生成20个1到10的整数
res = np.array(li)  # 使用最多的是 array 的方式

# 注意:
res > 5   # 结果如下:返回一个个布尔值
array([False,  True,  True,  True, False, False, False, False,  True,
       False,  True, False,  True,  True,  True, False, False,  True,
       False,  True])
# res > 5条件可以当做索引
res[res>5]   # 结果如下:取出布尔值为 True 的对应的原值
array([ 8,  6,  8,  9,  9,  8,  7, 10,  9,  9])

  花式索引

    应用场景:一次性想要获取多个不同的值

import numpy as np

res = np.array([1,2,3,4,5,6,7,8,9,10])
# 获取值是 2 4 7 9 的四个值
res[[1,3,6,8]]   # 内层括号中的数据是 想要获取的值的  索引下标

  通用函数

    能够接受一个数组的叫做一元函数,接受两个的叫做二元函数

    注浮点型特殊值---> 有两个

        第一种: nan 不等于任何值,甚至不等于自身 ---> np.nan

            数据分析中, nan 常被用作表示数据的缺失值

        第二种:inf 比任何浮点数都大 infinity缩写 (无限大) ---> np.inf

                                   

                                

                                 

                                

 

原文地址:https://www.cnblogs.com/pupy/p/11985462.html