当前位置:   article > 正文

numpy的使用_numpy 使用

numpy 使用

一、numpy安装

  1. conda install numpy
  2. # 或 pip install numpy

二、常用命令

1、查看numpy的版本

numpy.__version__

2、创建数组

  1. import numpy as np
  2. np.array(
  3. object : 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
  4. dtype : 数据类型 可选
  5. copy : 可选,默认为true,对象是否被复制。
  6. order : 可选,指定数组的内存布局
  7. subok : 可选,如果为True,则将传递子类,否则返回的数组将被强制为基类数组(默认)
  8. ndmin : 指定返回数组的最小维数
  9. )

 案例:

 3、创建等差数组

  1. np.arange(
  2. start : 默认为0,开始的值
  3. stop : 结束值
  4. step : 步长,每两个数之间的差值
  5. dtype : 指定数组的类型
  6. )

注意:返回的数组是包含start,不包含stop; step值填写,start的也一定要填写 

 

4、查看数组的形状shape,数据类型dtype,维数ndim,元素个数size,每个元素的内存空间itemsize

 5、创建全为1的数组

  1. np.ones(
  2. shape : 数组的形状 例如 (23)或者 '2'
  3. dtype : 数据类型 可选
  4. order : 可选,默认C 以行主方式存储数据 ;F 以列主方式存储数据
  5. )
  6. np.ones_like(
  7. obj : 对象,返回一个与obj形状类似且全为1的数组
  8. dtype : 定义数组类型 可选
  9. order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据,默认K,与obj形状布局越接近越好
  10. )

 

6、创建全为0的数组

  1. np.zeros(
  2. shape : 全为0的数组的形状
  3. dtype : 指定数据类型
  4. order : 默认为C ,以行主方式来存储多为数据,F以列主方式来存储多维数据
  5. )
  6. np.zeros_like(
  7. obj : 对象,返回一个与obj形状类似且全为0的数组
  8. dtype : 定义数组类型 可选
  9. order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据 默认K,与obj形状布局越接近越好
  10. )

7、创建指定形状和dtype的未初始化数组

  1. np.empty(
  2. shape, :空数组的形状,整数或整数元组
  3. dtype = float, : 指定数据类型,默认为float
  4. order = 'C' : 'C'为按行的 C 风格数组,'F'为按列的 Fortran 风格数组
  5. )
  6. np.empty_like(
  7. obj : 对象,返回一个与obj形状类似且全为空的数组
  8. dtype : 定义数组类型 可选
  9. order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据 默认K,与obj形状布局越接近越好
  10. )

8、创建单位矩阵的两种方法

  1. np.eye(
  2. num : 输出numnum列的的单位矩阵
  3. dtype : 指定数据类型
  4. )
  5. np.identity(
  6. num : 输出numnum列的的单位矩阵
  7. dtype : 指定数据类型
  8. )

9、创建全为某个指定的数的数组

  1. np.full(
  2. shape : 数组的形状 元组和整数都行 例如 (232
  3. fill_value :填充的值
  4. dtype : 指定的数据类型
  5. )
  6. np.full_like(
  7. a : 已有数组对象
  8. fill_value :填充的值
  9. )

11、 用对数创建等比数组

  1. np.logspace(
  2. start 次幂的起始值
  3. stop 次幂的结束值
  4. num=50 可选,需要生成的样本数
  5. endpoint=True 可选,是否包含stop次幂的结束值
  6. base=10.0 可选 , log的底数
  7. dtype=None 可选 ,指定数据类型
  8. axis=0 维度 0表示竖直方向,1表示水平方向
  9. )

12、 数组类型的转换

创建数组的时候,可使用dtype指定数组中元素的类型如果没指定,根据元素类型进行推断,如果类型不同,会选择兼容类型,可以使用astype函数转换数据类型

13、改变数组形状 

  1. np.reshape(
  2. obj : 数组对象
  3. shape : 数组的形状 元组格式 例如(23
  4. order : 数组元素存储的方式 C 按行为主, F按列为主
  5. )

 

 

14、数组的索引的切片

  1. # 索引与切片
  2. # 在python中,序列类型支持索引与切片。 ndarray 数组也支持类似的操作。不过两者之前既有相同点,也有不同点
  3. # 相同点: 数组对象也支持索引与切片,语法python 中索引与切片类似
  4. # 不同点: 数组切片返回的原数组数据视图。如果需要复制底层数组元素,可使用数组对象copy方法
  5. # 注意: 视图共享底层数组元素

 

14.1 获取不连续的元素(获取多个不连续的元素要写在列表里)

 

14.2 布尔数组进行索引

  1. 我们可以通过布尔数组对数组进行索引,获取对应的元素,获取数据原则::True,获取对应位置,为False,不获取。
  2. 说明:
  3. 索引布尔数组通过对现有数组计算得到
  4. 逻辑运算符和python 不同: and ->& ,or ->|,not->~,条件组合时候,条件需用小括号

15、数组的扁平化 (把多维转换成一维数组)

  1. # 三种方法
  2. # 第一种
  3. # np.reshape()
  4. # 第二种方法
  5. # np.ravel/ravel
  6. # 第三种
  7. # flatten
  8. # ravel和flatten区别 两者区别在于,ravel返回数组原数组共享数据,而flatten返回原数组拷贝

16、通用函数

  1. Numpy 提供很多通用函数,他可以看做对应python计算向量化版本
  2. 1. abs/fabs :绝对值
  3. 2. ceil/floor : 浮点数取整 ceil整数部分+1 /floor 取整数部分
  4. 3. exp
  5. 4. log/log2/log10
  6. 5. modf : 整数和小数部分 小数在前 整数在后
  7. 6. sin/sinh/cos/cosh
  8. 7. sqrt

17、统计函数

  1. # 统计函数
  2. Numpy具有如下常用统计函数
  3. 1. mean/sum 均值/
  4. 2. max/min 最大值/最小值
  5. 3. argmax/argmin 最大值对应的索引值/最小值对应的索引值
  6. 4. std/var 标准差/方差
  7. 5. cumsum/cumprod 累加和/累乘
  8. 注意: 统计函数如果只传入数组对象的话,他会对数组首先进行一个扁平化处理,在对扁平化后的一维数组的所有数据进行统计

18、轴

  1. # 轴(axis)
  2. 可以指定axis参数改变统计的轴。在二维数组中,0表示竖直方向操作,1表示沿水平方向操作
  3. 超过二维的多维数组,轴相对复杂,可认为沿着轴所指定坐标变化方向,进行操作。比如轴是0,则根据第0个坐标变化方向

19、拆分和连接函数

  1. 1. np.concatenate 对多个数组按指定轴方向进行连接
  2. 2. np.vstack/np.hstack 竖直方向连接/水平方向连接
  3. 3. np.split/np.hsplit/np.vsplit

20、其他函数

  1. 1. any/all : 0 和 None,返回False 其他返回True
  2. 2. transpose : 对数组数据进行转置
  3. 3. dot :对矩阵乘法进行运算
  4. 4. np.sort : 数组内容排序
  5. 5. np.argsort :数组里面元素对应的索引排序
  6. 6. np.tile : 复制

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/620080
推荐阅读
相关标签
  

闽ICP备14008679号