Numpy 之常见用法及函数

numpy

一、概念

  1. 数组事numpy 的最基本数据对象,也是一种大容量数据容器

  2. 矢量化运算,基本代替for 语句,大大提高运算速度

  3. 空值处理

    • 空值处于离散数据列,必须把空值所在行删除

    • 空值处在连续数据列,考虑对空值进行补值

      1. 补值方法

          1. 就近补值

          2. 平均值,中位数,众数

          3. 随机补值

          1. lagrange 补值

          2. EM补值

          3. 回归法补值

          4. 牛顿法补值

  4. 离散数据和连续数据

    • 离散数据

      1. 包括名目数据 或是顺序数据

      2. 描述事物的数据,表明事物属性,

      3. 名目数据无法估值

    • 连续数据

      1. 包括区间数据和等比数据

      2. 区间数据:温度,压强,时间等

      3. 等比数据:有自然0点 的数据,身高体重等

二、操作

  1. 创建

    • 基本创建

      numpy.array(数组,dtype = 指定数据类型)

    • 指定外形创建随机数

      numpy.array(range(1,101)).reshape(10,10)

      注意:reshape 的两个参数 的乘积必须等于前面数据中数据的个数!!!!!!!!!

    • arange

      np.arange(2,25,2).shape(3,4)

    • random

      numpy.array(random.randint(1,100,(3,3)))

    • 特殊数组

      1. np.zeros((5,5)) :0数组

      2. np.ones((5,5)) : 1数组

      3. np.empty((5,5)):并不是无值的空

      4. np.identity(6):单位数组创建

    • 模仿现有数组外形的特殊数组

      1. empty_like,ons_likes.zeros_likes

        Np.ones(data)

  2. 查看

    • dtype:查看数组中数据的数据类型

    • astype:强制转类型

    • shape:查看数组的外形,数组形式返回

    • ndim : 返回数组维度

  3. 选区/切片

    • 数组的切片称为选区

    • 与列表的区别:

      1. 都是左闭右开

      2. 广播功能:利用切片和选区进行获取数据,赋值给新的变量;新的变量值改变,原列表数据不会变化,而选区后的原数组会变化,可以利用copy 对原数据的备份数据进行选区

    • [a:b,c:d] a,b 选行 / c,d 选列

    • 选区赋值:

      1. 列表赋值

        arr123 [1:3,1:3]=[[-2,-4],[-8,-1]] #注意这里必须是嵌套列表

      2. 元组赋值

        arr123[1:3,1:3]=((0,0),(-1,-1))

      3. 数组赋值

        arr123[1:3,1:3]=np.array([[-2,-2],[-8,-8]])

      4. 单元素赋值

        arr123[1:3,1:3]=0

  4. 花式索引

    • 针对多维数据进行精确查找

    • 返回索引结果数组

    • 基本形式:数组[ [ ] ,[ ] ]

      第一个中括号里的整数索引码与第二个中括号里的整数索引码一起构成了一系列索引坐标,通过这些索引坐标可以实现精确查找。

  5. numpy的函数

    • np_data.T : 二维数组转置

    • transpose :高纬矩阵转置

      1. 按照轴号位置的变化而变化

      2. 没有转置前的高维数组轴编号顺序总是为:(0,1,2...)。通过transpose函数可以把未转置的数组轴编号布局(0,1,2...)转换到transpose参数指定的轴编号布局。

      3. 在完成转置后,原矩阵的外形和矩阵的矩阵中元素分布都将会随着轴编号布局的变化而变化。

    • np.dot (np_data1,np_data2) : 两个矩阵的点积

    • np.trace(np_data) :矩阵对角线之和(矩阵必须是方阵)

    • np.linspace(-2,2,400):

      指定作用域,创建数组,范围-2到2,400百份

  6. 一次函数

    • np.sqrt (np_data ): 开方函数

    • np.exp 函数

    • np.abs 绝对值函数

    • 取整数

      1. 向下取整数

        np.floor(np_data)

      2. 向上取整

        np.ceil(np_data)

  7. 二次函数

    • np.maximum 比较两个数组,保留大数字

    • np.add,Subtract,Multiply,devide:对数组进行加减乘除

    • np.power(np_data1,np_data2)

      次方:np_data1是底,np_data2是幂

    • np.meshgrid() :

      1. 让数组之间进行网格化交点

      2. 一般用作画图

    • 拼接:

      1. np.column_stack((a,b)): 将a,b 两个一维数组,以列的形式组合

  8. 数据快速挑选函数

    • 用np.where 快速挑选函数

    • np.where(condition,[x,y])

      如果满足条件,返回x,否则返回y

      1. 条件单bool值

      2. bool矩阵

  9. 基本统计函数

    • 方差和标准差(var,std)

    • Sum(和),mean(平均值),min(小),max(大) 函数

      1. 作为方法:np_data.sum( axis = )

        • 将数组以行/列(0/1)形式求和,返回结果数组

        • axis = 0 逐行按列

      2. 作为函数:np.sum(np_data,axis = )

    • argmin/argmax函数

      1. 返回数组中最小值和最大值的索引

    • cumsum(所有元素的累积和)cumprod(所有元素的累积积)

      1. 可以指定行和列

  10. 常用bool数组方法,数据排序和去重

    • sum:sum()函数可以统计bool_ar中的True的数量

    • all和any方法 :

      1. any()说明数组里有true,

      2. all()检验数组是不是全是true

      3. 可用于检验是否存在特征数据

    • 排序sort(axis)

      注意::sort用作函数(np.sort)是一次性排序,用做方法(.sort)是永久性排序

    • 去重

      up.unique()

    • 删除

    • Up.delete()

       

     

     

     

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
numpy函数是一种用于处理数组的科学计算库,其中包含了许多常用的数学、统计和线性代数函数,以下是一些常见numpy函数用法: 1. 创建数组 numpy中可以通过numpy.array()函数创建数组,函数接受一个可迭代对象作为参数,例如: ```python import numpy as np # 创建一维数组 a = np.array([1, 2, 3]) print(a) # 输出:[1 2 3] # 创建二维数组 b = np.array([[1, 2], [3, 4]]) print(b) # 输出:[[1 2] # [3 4]] ``` 2. 索引和切片 numpy中的数组索引和切片与Python中的列表相似,可以使用整数索引和切片语法。例如: ```python # 一维数组的索引和切片 a = np.array([1, 2, 3, 4, 5]) print(a[2]) # 输出:3 print(a[:3]) # 输出:[1 2 3] # 多维数组的索引和切片 b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(b[1, 2]) # 输出:6 print(b[:2, 1:]) # 输出:[[2 3] # [5 6]] ``` 3. 数学函数 numpy中包含了许多常用的数学函数,例如: ```python # 平方函数 a = np.array([1, 2, 3]) print(np.square(a)) # 输出:[1 4 9] # 开方函数 b = np.array([1, 4, 9]) print(np.sqrt(b)) # 输出:[1. 2. 3.] # 取绝对值函数 c = np.array([-1, -2, 3]) print(np.absolute(c)) # 输出:[1 2 3] # 求和函数 d = np.array([1, 2, 3]) print(np.sum(d)) # 输出:6 # 求平均值函数 e = np.array([1, 2, 3]) print(np.mean(e)) # 输出:2.0 # 求标准差函数 f = np.array([1, 2, 3]) print(np.std(f)) # 输出:0.816496580927726 ``` 4. 线性代数函数 numpy中包含了许多常用的线性代数函数,例如: ```python # 点积函数 a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) print(np.dot(a, b)) # 输出:[[19 22] # [43 50]] # 矩阵求逆函数 c = np.array([[1, 2], [3, 4]]) print(np.linalg.inv(c)) # 输出:[[-2. 1. ] # [ 1.5 -0.5]] # 特征值与特征向量函数 d = np.array([[1, 2], [2, 1]]) eig_values, eig_vectors = np.linalg.eig(d) print(eig_values) # 输出:[ 3. -1.] print(eig_vectors) # 输出:[[ 0.70710678 -0.70710678] # [ 0.70710678 0.70710678]] ``` 5. 随机数函数 numpy还包含了许多常用的随机数函数,例如: ```python # 随机整数函数 a = np.random.randint(1, 10, (3, 4)) print(a) # 输出:[[5 8 7 4] # [4 4 4 4] # [9 9 9 2]] # 随机浮点数函数 b = np.random.rand(2, 3) print(b) # 输出:[[0.81317738 0.24850358 0.98823489] # [0.35087941 0.98767991 0.17130925]] ``` 以上是numpy函数的一些常见用法numpy函数的功能非常丰富,还有很多其他函数可以满足各种应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值