数据分析(2)--numpy的函数用法

numpy中用很多常见的函数,如果使用的好,对我们的工作帮助是很大的,本篇我会拿其中一部分来做介绍

通用函数ufunc(universal function)

Numpy提供了许多通用函数,这些通用函数可以看做是以前通过Python计算的矢量化版本。
在numpy中提供了很多库,这部分和math中的库很像,可以简单理解为矢量预算的math

 1. abs / fabs   取绝对值
 2. ceil / floor 取整函数
 3. exp 取平方函数,也可以使用** 来代替
 4. log / log2 / log10 取对数函数
 5. modf  
    返回数值的小数部分与整数部分
    返回一个元组,元组中含有两个元素(ndarray数组类型) 
    前面的(索引为0)的元素包含的是小数值,后面的(索引为1)的元素包含的是整数值。
 7. sin / sinh / cos / cosh 三角函数
 8. sqrt 开方运算函数

统计函数*

这部分是重点,无论在深度学习还是机器学习中,都经常用到 比如常见的场景:在运算的过程中,先计算图像的均值,之后用图像的像素点减去三个通道的均值,之后在做运算 可以使用mean做运算,当然也可以使用 [0,0,0]或者[128,128,128]等
Numpy(或数组对象)具有如下常用的统计函数。

* mean / sum  sum计算pr曲线的使用统计正确率是很常见的操作
* max / min  计算最大值和最小值
* argmax / argmin  返回最大值和最小值的索引,在实际应用过程中通常用作嵌套使用
* std / var 标准差和方差
* cumsum / cumprod 求累积和累积乘积 

轴(axis)

可以指定axis参数来改变统计的轴。axis是一个非常重要的参数,关于数组的很多操作与运算,都涉及该参数。轴的取值为0,1,2……其中0表示最高的维度,1表示次高的维度,以此类推。同时,轴也可以为负值,表示倒数第n个维度,例如,-1表示最后(低)一个维度。在二维数组中,0表示沿着竖直方向进行操作,1表示沿着水平方向进行操作。在多维数组中,轴相对复杂一些,可以认为,是沿着轴所指定的下标变化的方向,进行操作。例如,如果轴是1,则根据第1个下标变化的方向上进行操作。

随机函数

这个方法很重要,在聚类过程中,如果计算所有簇之间的聚类计算量是巨大的,可以使用随机选择簇心,或者计算簇心来进行簇间操作

* np.random.rand 参数为多个参数共同决定
* np.random.random 与rand相同,但是形状通过一个参数(元组)指定。
* np.random.randn 常用于深度学习的构建神经网络产生随机正太分布的数值
* np.random.normal 可以自定义均值和标准差的标准正太分布
* np.random.randint 在给定起点和终点差生随机整数值
* np.random.seed
* np.random.shuffle
* np.random.uniform

连接与拆分函数

* np.concatenate 对多个数组按指定轴的方向进行连接。 通常应用为多个numpy文件的合并 例如特征文件
* np.vstack / np.hstack    axis =0 
* np.split / np.hsplit / np.vsplit  axis = 1

其他函数(方法)

* any / all
* transpose(T) 矩阵转置
* swapaxis
* dot(@)  一种特殊的运算方法,表示相同位置做惩罚之后相加
* sort / np.sort
* unique
* np.where 搜索是否有包含的符合条件的值
* np.save / np.load  保存和加载numpy数据 默认为二进制
* np.savetxt / np.loadtxt 可以指定保存文件的格式

说明:

  • sort可以指定排序的轴。
  • save在保存数组时,如果没有指定扩展名,则自定补充.npy作为扩展名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值