舍入小数

在 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. All in one:如何搭建端到端可观测体系

    ​简介:一文看懂可观测! 作者:西杰 & 白玙 可观测的前生今世 系统的可观测与故障可分析作为系统运维中重要的衡量标准,随着系统在架构.资源单位.资源获取方式.通信方式演进过程,遇到了巨大挑战 ...

  2. 大模型 RAG 是什么

    大模型 RAG(Retrieval-Augmented Generation)是一种结合了检索(Retrieval)与生成(Generation)能力的先进人工智能技术,主要用于增强大型语言模型(LL ...

  3. WPF 基于 Azure 的认知服务 情绪分析 语言检测 关键短语提取

    本文主要是来安利大家基于 Azure 的认知服务,主要是文本认知服务,可以做到分析输入文本的情绪,以及判断当前输入文本所属语言等功能 本文分为两个部分 ,一个就是在 Azure 上的配置,另一个就是 ...

  4. Raft 共识算法4-选举限制

    Raft 共识算法4-选举限制 Raft算法中译版地址:https://object.redisant.com/doc/raft中译版-2023年4月23日.pdf 英原论文地址:https://ra ...

  5. webapp监听手机物理返回键,返回上一页面或者关闭app

    网上抄的做笔记: 1.项目下建文件夹commonFunction->physicBackListener.js 2.这个js文件内复制代码: document.addEventListener( ...

  6. 函数编程:强大的 Stream API

    函数编程:强大的 Stream API 每博一文案 只要有人的地方,世界就不会是冰冷的,我们可以平凡,但绝对不可以平庸. ------ <平凡的世界> 人活着,就得随时准备经受磨难.他已经 ...

  7. Golang validate验证器

    目录 自定义验证规 单条验证 多条批量验证 其它验证包: gookit/validate 手册地址: https://godoc.org/gopkg.in/go-playground/validato ...

  8. [popover, select] el-popover内有select的时候在选择后会自动关闭

    Steps to reproduce 选择某个选项后会自动关闭 What is Expected? 选择后不自动关闭,等点击按钮后再去触发组件内的关闭方法. What is actually happ ...

  9. npm包离线安装

    npm包离线安装 npm包的安装,在Internet联网机器上通过npm install轻松搞定的事情,在离线或者纯内网环境下就变得异常艰难,本文就来讲一讲离线安装npm包的方法. 通过 npm in ...

  10. RocketMQ阅读源码前的准备

    本文将讲解如何在IDEA中导入 RocketMQ 源码,并运行 Broker 和 NameServer,编写一个消息发送与消息消费的示例. 一. 源码导入及调试 1.1 导入源码 RocketMQ 原 ...