numpy--学习笔记

1. numpy两种基本对象: ndarray和ufunc
  1. ndarry是存储单一数据类型的多维数组

  2. ufunc是能够对数组进行处理的函数

2. 数组的属性

numpy--学习笔记

3. 数组的创建
  1. array创建一维或多维数组

    • numpy.array(object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0)

      • object: 接收array,表示想要创建的数组
      • dtype: 表示数组说需要的数据类型,如果为给定,则选择保存对象所需的最小类型
    • 例如:

      • 创建一维数组

        numpy--学习笔记

      • 创建二维数组

        numpy--学习笔记

      • 查看数组的维数

        numpy--学习笔记

      • 查看数组的尺寸

        numpy--学习笔记

      • 查看数组元素个数

        numpy--学习笔记

  2. range通过指定开始值,终止值,步长来创建一维数组,不含终值

    numpy--学习笔记

  3. linspace通过指定开始值,终止值,元素个数来创建一维数组,包含终值

    numpy--学习笔记

  4. logspace和linspace类似,生成等比数列

    • 生成1~100,10个元素的等比数列
      numpy--学习笔记
      • 其中1表示十的一次方,2表示十的二次方,10表示元素的个数
  5. zeros生成全为0的数组

    numpy--学习笔记

  6. eye创建对角线上值全为1的数组

    numpy--学习笔记

  7. ones创建数值全为1的数组

    numpy--学习笔记

  8. diag创建除对角线以外全为0的数组,对角线可以为0,也可以不为0

    numpy--学习笔记

  9. 创建随机数组

    1. random

      numpy--学习笔记

    2. rand生成服从均匀分布的随机数

      numpy--学习笔记

    3. randn生成服从正态分布的随机数

      numpy--学习笔记

    4. randint生成给定上下限范围的随机数

      • numpy.random.randint(low, high=None, size=None, dtype=‘l’)

      • low为最小值,high为最大值,size为数组的shape

        numpy--学习笔记

4.数组的索引
  1. 一维数组的索引,和列表相似

    numpy--学习笔记

  2. 二维数组的索引,各个维度之间用逗号隔开

    numpy--学习笔记

    numpy--学习笔记

5. 数组的形态变换
  1. reshape改变数组的形状

    numpy--学习笔记

  2. 将数组展平

    1. ravel

    numpy--学习笔记

    1. flatten可以横向或者纵向展平

      numpy--学习笔记

    2. hstack横向组合,行数必须相同

      numpy--学习笔记

    3. vstack纵向组合,列数必须相同

      numpy--学习笔记

    4. concatenate可以实现横向和纵向组合,其中参数axis=0表示纵向,axis=1表示纵向

      numpy--学习笔记

      numpy--学习笔记

      numpy--学习笔记

  3. 分割

    1. hsplit(ary, indices_or_sections) 横向分割

      numpy--学习笔记

      numpy--学习笔记

    2. vsplit(ary, indices_or_sections) 纵向分割

      numpy--学习笔记

      numpy--学习笔记

    3. split(ary, indices_or_sections, axis=0)

      numpy--学习笔记

      numpy--学习笔记

6. 矩阵的创建
  1. mat和matrix函数创建矩阵

    numpy--学习笔记

  2. bmat分块矩阵

    numpy--学习笔记

  3. 矩阵的运算

    numpy--学习笔记

    numpy--学习笔记

    numpy--学习笔记

  4. 矩阵的属性

    numpy--学习笔记

  5. 在numpy的逻辑运算中,numpy.all函数表示逻辑and,numpy.any函数表示逻辑or

  6. 不同形状的数组进行运算时,numpy会实行广播机制,其遵循一下四则法则:

    1. 让所有的输入数组向其中shape最长的数组看齐,shape中不足的部分通过在前面加1补齐。
    2. 输出数组的shape是输入数组shape的各个轴上的最大值。
    3. 如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为 1,则这个数组能够用来计算,否则出错。
    4. 当输入数组的某个轴的长度为1时,沿着此轴运算时使用此轴上的第一组值。
7. numpy读写文件
  1. save函数以二进制的格式保存数据
    • numpy.save(file, arr, allow_pickle=True, fix_imports=True)
    • 参数 file 为要保存的文件的名称
    • 参数arr为需要保存的数组
    • 其文件的扩展名.npy是系统自动添加的
    • numpy--学习笔记
  2. savez函数保存多个数组
    • numpy.save(file, arr1,arr2)
  3. savetxt函数可将数组写到以某种分隔符隔开的文本文件中
    • np.savetxt(fname, X, fmt=’%.18e’, delimiter=’ ‘, newline=’\n’, header=’’,footer=’’, comments=’# ')
    • fname 文件名, X数组数据
    • delimiter 数据分隔符
  4. loadtxt函数执行的是相反的操作,即把文件加载到一个二维数组中
  5. genfromtxt函数和loadtxt函数相似,不过它面向的是结构化数组和缺失数据。它通常使用的参数有3个,即存放数据的文件名参数“fname”、用于分隔的字符参数“delimiter”和是否含有列标题参数“names”
  6. load函数从二进制的文本中读取数据
    • numpy--学习笔记
8. 排序
  1. sort 函数是最常用的排序方法,无返回值。如果目标函数是一个视图,则原始数据将会被修改

    numpy--学习笔记

    numpy--学习笔记


- [外链图片转存中…(img-YsFWW8st-1597628219313)]

8. 排序
  1. sort 函数是最常用的排序方法,无返回值。如果目标函数是一个视图,则原始数据将会被修改

    [外链图片转存中…(img-2wkIdjSI-1597628219327)]

    ​ [外链图片转存中…(img-QbVAE3VF-1597628219328)]