舍入小数

在 NumPy 中,主要有五种方法来舍入小数:

截断

去除小数部分,并返回最接近零的浮点数。使用 trunc()fix() 函数。

示例:

import numpy as np

arr = np.trunc([-3.1666, 3.6667])

print(arr)

相同的示例,使用 fix()

import numpy as np

arr = np.fix([-3.1666, 3.6667])

print(arr)

四舍五入

around() 函数在数字大于或等于 5 时将前面的数字或小数部分加 1。

例如:将数字四舍五入到 1 个小数位,3.16666 是 3.2。

示例:

import numpy as np

arr = np.around(3.1666, 2)

print(arr)

向下取整

floor() 函数将小数舍入到最接近的较低整数。

例如:3.166 的 floor 是 3。

示例:

import numpy as np

arr = np.floor([-3.1666, 3.6667])

print(arr)

向上取整

ceil() 函数将小数舍入到最接近的较高整数。

例如:3.166 的 ceil 是 4。

示例:

import numpy as np

arr = np.ceil([-3.1666, 3.6667])

print(arr)

NumPy 对数

NumPy 提供了在底数为 2、e 和 10 的情况下执行对数运算的函数。

我们还将探讨如何通过创建自定义的 ufunc 来以任意底数取对数。

如果无法计算对数,所有的对数函数都会在元素中放置 -infinf

底数为 2 的对数

使用 log2() 函数执行底数为 2 的对数运算。

示例:

import numpy as np

arr = np.arange(1, 10)

print(np.log2(arr))

注意:arange(1, 10) 函数返回一个从 1(包括)到 10(不包括)的整数数组。

底数为 10 的对数

使用 log10() 函数执行底数为 10 的对数运算。

示例:

import numpy as np

arr = np.arange(1, 10)

print(np.log10(arr))

自然对数,即底数为 e 的对数

使用 log() 函数执行底数为 e 的对数运算。

示例:

import numpy as np

arr = np.arange(1, 10)

print(np.log(arr))

任意底数的对数

NumPy 不提供任意底数的对数函数,所以我们可以使用 frompyfunc() 函数结合内置函数 math.log(),它有两个输入参数和一个输出参数:

示例:

from math import log
import numpy as np nplog = np.frompyfunc(log, 2, 1) print(nplog(100, 15))

NumPy 求和

求和和加法有什么区别?

加法是在两个参数之间进行操作,而求和是在 n 个元素上进行操作。

示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3]) newarr = np.add(arr1, arr2) print(newarr)

返回:[2 4 6]

示例

arr1arr2 中的值进行求和:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3]) newarr = np.sum([arr1, arr2]) print(newarr)

返回:12

沿轴求和

如果指定 axis=1,则 NumPy 将对每个数组中的数字进行求和。

示例

在以下数组上沿第一个轴执行求和:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3]) newarr = np.sum([arr1, arr2], axis=1) print(newarr)

返回:[6 6]

累积求和

累积求和意味着部分地对数组中的元素进行相加。

例如:[1, 2, 3, 4] 的部分和将是 [1, 1+2, 1+2+3, 1+2+3+4] = [1, 3, 6, 10]

使用 cumsum() 函数执行部分求和。

示例

在以下数组中执行累积求和:

import numpy as np

arr = np.array([1, 2, 3])

newarr = np.cumsum(arr)

print(newarr)

返回:[1 3 6]

NumPy 乘积

要找到数组中元素的乘积,使用 prod() 函数。

示例:

import numpy as np

arr = np.array([1, 2, 3, 4])

x = np.prod(arr)

print(x)

返回:24,因为 1*2*3*4 = 24

示例

找到两个数组中元素的乘积:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8]) x = np.prod([arr1, arr2]) print(x)

返回:40320,因为 1*2*3*4*5*6*7*8 = 40320

沿轴的乘积

如果指定 axis=1,则 NumPy 将返回每个数组的乘积。

示例

在以下数组上沿第一个轴执行乘积:

import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8]) newarr = np.prod([arr1, arr2], axis=1) print(newarr)

返回:[24 1680]

累积乘积

累积乘积意味着部分地进行乘法。

例如:[1, 2, 3, 4] 的部分乘积是 [1, 1*2, 1*2*3, 1*2*3*4] = [1, 2, 6, 24]`

使用 cumprod() 函数执行部分乘积。

示例

对以下数组中所有元素进行累积乘积:

import numpy as np

arr = np.array([5, 6, 7, 8])

newarr = np.cumprod(arr)

print(newarr)

返回:[5 30 210 1680]

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

NumPy 舍入小数、对数、求和和乘积运算详解的更多相关文章

  1. Opencv中Mat矩阵相乘——点乘、dot、mul运算详解

    Opencv中Mat矩阵相乘——点乘.dot.mul运算详解 2016年09月02日 00:00:36 -牧野- 阅读数:59593 标签: Opencv矩阵相乘点乘dotmul 更多 个人分类: O ...

  2. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  3. <转>C++位运算详解

    原文转自:http://www.crazycpp.com/?p=82 前言 以前收藏过一篇讲C++位操作的文章,这次博客搬家,以前的数据都没有保留,整理谷歌网站管理后台的时候,发现不时的还有网友有在查 ...

  4. 【小白学PyTorch】10 pytorch常见运算详解

    参考目录: 目录 1 矩阵与标量 2 哈达玛积 3 矩阵乘法 4 幂与开方 5 对数运算 6 近似值运算 7 剪裁运算 这一课主要是讲解PyTorch中的一些运算,加减乘除这些,当然还有矩阵的乘法这些 ...

  5. Number浮点数运算详解

    文章来自我的 github 博客,包括技术输出和学习笔记,欢迎star. 一道题 0.1 + 0.2 = ? 在浏览器中测试下计算结果,得到的结果是 0.30000000000000004,并不是理想 ...

  6. C语言位运算详解[转]

    作者:911 说明:本文参考了http://www2.tsu.edu.cn/www/cjc/online/cyuyan/,算是对其的修正,在此将本文列为原创,实有抄袭之嫌疑.甚是惭愧! 位运算是指按二 ...

  7. C语言位运算详解

    位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整形操作数,即只能用于带符号或无符号的char.short.int与long类型 ...

  8. C语言位运算详解(转载)

    转载自:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C ...

  9. 【python】Numpy中stack(),hstack(),vstack()函数详解

    转自 https://blog.csdn.net/csdn15698845876/article/details/73380803 这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是stack ...

  10. C# 位运算详解

    运算符 描述 &(位与) 当两个二进制操作位都为1时,结果就为1 |(位或) 当两个二进制操作位有1个为1时,结果就为1 ^(位异或) 当两个二进制操作位只有1个为1时,结果为1 ~(位非) ...

随机推荐

  1. 作业帮在线业务 Kubernetes Serverless 虚拟节点大规模应用实践

    ​简介:目前方案已经成熟,高峰期已有近万核规模的核心链路在线业务运行在基于阿里云 ACK+ECI 的 Kubernetes Serverless 虚拟节点.随着业务的放量,未来运行在 Serverle ...

  2. Java编程技巧之单元测试用例编写流程

    简介: 立足于"如何来编写单元测试用例",让大家"有章可循",快速编写出单元测试用例. 作者 | 常意来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收藏 ...

  3. MySQL深潜|剖析Performance Schema内存管理

    简介: 本文主要是通过对PFS引擎的内存管理源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路. 一  引言 MySQL Performance schema(PF ...

  4. 学术顶会再突破!计算平台MaxCompute论文入选国际顶会VLDB 2021

    ​ 简介: VLDB 2021上,阿里云计算平台MaxCompute参与的论文入选,核心分布式调度执行引擎Fangorn.基于TVR Cost模型的通用增量计算优化器框架Tempura等分别被Indu ...

  5. 基于 MaxCompute 的实时数据处理实践

    ​简介: MaxCompute 通过流式数据高性能写入和秒级别查询能力(查询加速),提供EB级云原生数仓近实时分析能力:高效的实现对变化中的数据进行快速分析及决策辅助.当前Demo基于近实时交互式BI ...

  6. 二:飞凌嵌入式FCU1201

    场景一 充电基础设施 场景二 现代机械加工对复杂化.精密化.大型化以及自动化设备的要求不断提高,数控机床设备日益得到广泛应用.数控机床设备对加工质量及效率起着关键乃至核心作用,其造价往往相当昂贵.因此 ...

  7. 【Vue】vuex存储和本地存储(localstorage、sessionstorage)的区别

    sessionStorage sessionStorage 方法针对一个 session 进行数据存储.当用户关闭浏览器窗口后,数据会被删除. 用法: 储存: 1. 点(.)运算符 sessionSt ...

  8. 怎么样给Oracle数据库中的表添加列?

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...

  9. C语言:将txt文件的单词导入链表&&删除链表重复单词

    文章目录 前言 主要分为两个实现部分,按个人需求浏览 首先明确几个任务 先过一遍如何操作的流程. ①全局变量和结构体代码部分 ②实现:将文件单词导入链表 a: 寻找txt文件中最长单词的函数 b: 导 ...

  10. docker多主机管理docker-machine

    docker-machine https://docs.docker.com/machine/ https://www.runoob.com/docker/docker-machine.html ht ...