大数据知识体系
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
  • JVM

    • JVM 架构
    • JVM 类加载机制
    • JVM 运行时数据区
    • JVM 垃圾回收机制
    • JVM 性能监控与调优
    • JVM 常见错误
  • Java

    • Java基础

      • Java 基础知识
      • Java 基础 - 枚举类
      • Java 基础 - 异常处理
      • Java 基础 - 泛型
      • Java 基础 - 反射
      • Java 基础 - 代理模式
      • Java 基础 - 注解
    • Java集合

    • Java并发编程

    • Java 开发规范
  • Scala

    • Scala 概述
  • Python

    • Numpy

      • 初识 Numpy
      • ndarray 的创建方式
      • NumPy 的数据类型
      • NumPy 数组计算
      • 拷贝
      • 索引和切片
      • 数学和统计方法
      • 数组形状变换
      • 通用函数
        • 通用函数概念
        • 一元 ufunc
        • 二元 ufunc
        • 示例
      • 排序
      • 搜索和计数
      • 线性代数
      • 伪随机数生成
      • 广播
      • 文件输入和输出
    • Pandas

      • 初识 Pandas
      • 认识 Series 和 DataFrame
      • Series 和 DataFrame 增删改查
      • Index对象增删改查
      • 普通列和行Index相互转化
      • 快速查看整体信息
      • 数值运算
      • 合并数据集
      • 数值统计与聚合
      • 分组聚合
      • 分类类型
      • 排序和排名
      • 时间序列
      • 文件输入与输出
      • 缺失值处理
      • 字符串处理
      • pandas sql
      • 其它
  • 语言基础
  • Python
  • Numpy
Will
2022-08-04
目录

通用函数

# 通用函数概念

通用函数(或简称为 ufunc)是一种以元素为单位对 ndarray 进行操作的函数,支持数组广播,类型转换和其他一些标准特性。 也就是说,ufunc 是一个函数的“矢量化”包装器,它接受固定数量的特定输入并产生固定数量的特定输出

在 NumPy 中,通用函数是 numpy.ufunc 类的实例。https://docs.scipy.org/doc/numpy/reference/ufuncs.html (opens new window)。

# 一元 ufunc

函数说明 abs、fabs计算整数、浮点数或复数的绝对值。对于非复数值,可以使用更快的fabs sqrt计算各元素的平方根。相当于arr ** 0.5 square计算各元素的平方。相当于arr ** 2 exp计算各元素的指数。相当于e的x次方 log、log10、log2、log1p分别对应自然对数(底数为e)、底数为10的log、底数为2的log、log(1 + p) sign计算各元素的正负号:1(正数)、0(零)、-1(负数) ceil计算各元素的ceiling值,即大于等于该值的最小整数 floor计算各元素的floor值。即小于等于该值的最大整数 rint将各元素值四舍五入到最接近的整数,保留dtype modf将数组的小数和整数部分以两个独立数组的形式返回isnan返回一个表示“哪些值是NaN”的布尔型数组isfinite、isinf分别返回一个表示“哪些元素是有穷的(非inf,非NaN)”或“哪些元素是无穷的”的布尔型数组cos、cosh、sin、sinh、tan、tanh普通型和双曲型三角函数 arccos、arccosh、arcsin、arcsinh、arctan、arctanh反三角函数 logical_not计算个元素的not x的真值。相当于-arr

# 二元 ufunc

函数说明 add将数组中对应的元素相加 subtract从第一个数组中减去第二个数组中的元素 multiply将数组元素相乘 divide、floor_divide除法或向下取整除法(丢弃余数) power对第一个数组中的元素A,根据第二个数组中的相应元素B,计算A的B次方 maximum、fmax元素级的最大值计算。fmax将忽略NaN minimum、fmin元素级的最小值计算。fmin将忽略NaN mod元素级别的求模计算(除法的余数) copysign将第二个数组中的值得符号复制给第一个数组中的值 greater、greater_equal、less、less_equal、equal、not_equal、执行元素级的比较运算,最终产生布尔数组。相当于中缀运算符号>、>=、<、<=、==、!=logical_and、logical_or、logical_xor执行元素级的真值逻辑运算。相当于中缀运算符&、| 、^

# 示例

import numpy as np

arr1 = np.array([ 2.06071314, -0.02325376,  0.34784075, -0.92764143, -0.37922931,
       -1.22737788, -1.54119057,  0.03776073,  0.47776534, -0.33724855])
arr1
1
2
3
4
5
array([ 2.06071314, -0.02325376,  0.34784075, -0.92764143, -0.37922931,
       -1.22737788, -1.54119057,  0.03776073,  0.47776534, -0.33724855])
np.abs(arr1)
1
array([2.06071314, 0.02325376, 0.34784075, 0.92764143, 0.37922931,
       1.22737788, 1.54119057, 0.03776073, 0.47776534, 0.33724855])
arr2 = np.array([4, 9, 16, 25])
np.sqrt(arr2)
1
2
array([2., 3., 4., 5.])
np.sign(arr1) # 正负号
1
array([ 1., -1.,  1., -1., -1., -1., -1.,  1.,  1., -1.])
arr3 = np.array([1, 2, 3, np.NaN, 4, np.NaN])
np.isnan(arr3)
1
2
array([False, False, False,  True, False,  True])
arr4 = np.array([1, 2, 3])
arr5 = np.array([4, 5, 6])
np.add(arr4, arr5)
1
2
3
array([5, 7, 9])
np.mod(arr2, 3) # 求模
1
array([1, 0, 1, 1])
上次更新: 2023/11/01, 03:11:44

← 数组形状变换 排序→

Theme by Vdoing | Copyright © 2022-2023 Will 蜀ICP备2022002285号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式