当前位置: 首页 > ops >正文

Numpy——通用函数、向量化、基础的统计计算

基本的通用函数(ufunc)

通用函数 (Universal Functions, 简称 ufunc) 是 NumPy 的核心功能之一,它是对 ndarray 进行逐元素操作的函数,具有高性能的向量化运算能力

主要特点:
  • 向量化操作:对数组中的每个元素执行相同的操作
  • 广播机制:支持不同形状数组之间的运算
  • 多种返回:可以返回多个数组
  • 高性能:底层用 C 实现,运算效率高
通用函数类型
  • 一元函数:简单的元素级转换,
    abs(绝对值),fabs(浮点数的绝对值), sqrt(平方根), square(), exp(指数), log(对数), log10, log2, sign(计算各元素的符号,1,0,-1); ceil(向上取整),floor(向下取整),rint(四舍五入到最接近的整数,保留dtype),modf(将数组的小数部分和整数部分以两个独立数组的形式返回)。三角函数相关:cos,cosh,sin,sinh,tan,tanh,arccos,arccosh,arcsin,arcsinh,arctan,arctanh
  • 二元函数 :接受两个数组,返回一个数组作为结果
    add(加法),subtract(减法), multiply(乘法),divide(除法), floor_divide(),power(幂运算), maximum(最大值), minimum(最小值), mod(模运算), copysign(第二个数组中的元素值的符号复制给第一个数组中的元素)。
    比较相关:greater, greater_equal, less, less_equal, equal, not equal, 返回布尔数组
    位运算相关:logical_and, logical_or, logical_xor
out参数:out 是 NumPy 通用函数 (ufunc) 的一个重要参数,它允许你指定计算结果存储的位置,而不是创建一个新的数组

减少内存分配:避免创建临时数组,比如在循环中
提高性能:特别是对于大型数组的重复操作,(in-place写入)
原地操作:可以直接修改现有数组

import time
import numpy as np
large_arr = np.random.rand(10000000)# 不使用 out
start = time.time()
for _ in range(10):result = np.sin(large_arr)
print("Without out:", time.time() - start)  # 输出:Without out: 1.055288314819336# 使用 out
output = np.empty_like(large_arr)
start = time.time()
for _ in range(10):np.sin(large_arr, out=output)
http://www.xdnf.cn/news/12025.html

相关文章:

  • Comparable和Comparator
  • React-native实战系列
  • 每日算法-250604
  • Sui Prover:将形式化验证引入 Sui
  • yFiles:专业级图可视化终极解决方案
  • 2025年6月4日第一轮
  • Unity大型项目资源框架
  • 运行labelme
  • 【C/C++】析构函数好玩的用法:~Derived() override
  • day44python打卡
  • AI 基础应用与提示词工程
  • 深入理解计算机进制:从原理到 C++ 实现
  • WireShark相关技巧
  • 根据重叠点云生成匹配图像之间的对应点对
  • 【二分图 图论】P9384 [THUPC 2023 决赛] 着色|普及+
  • AI数字人软件开发:赋能企业数字化转型,打造智能服务新标杆
  • c#压缩与解压缩-SharpCompress
  • MySQL EXPLAIN 命令详解
  • 为什么选择电商平台API接口服务商?
  • 剑指offer16_在O(1)时间删除链表结点
  • Google AI 模式下的SEO革命:生成式搜索优化(GEO)与未来营销策略
  • 假票入账会怎样?
  • 沉金电路板有哪些特点?
  • JDK 8 到 JDK 24 新特性大全
  • [3-02-01].第13节:三方整合 - Jedis客户端操作Redis
  • 基于VMD-LSTM融合方法的F10.7指数预报
  • return this;返回的是谁
  • 遍历继承QObject的对象的属性
  • macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库
  • Inno Setup 脚本中常用术语释义