Python的默认实现(CPython)处理某些操作非常慢,因为动态性和解释性,



CPython 在每次循环必须左数据类型的检查和函数的调度。。在编译是进行这样的操作。就会加快执行速度。

通用函数介绍

Numpy 为很多类型的操作提供了方便的、静态类型的、可编译程序的接口。叫做向量操作。

对数组的操作会用于数组的每一个元素。



也可以对俩个数组进行运算

探索通用函数

俩种存在形式

  • 一元通用函数 unary ufunc 对单个输入操作
  • 二元通用函数 binary ufunc 对俩个输入操作

    1)数组的运算

    Numpy 通用函数的使用方式非常自然,就是Python原生的算术运算符。加 减 乘 除

    | Operator | Equivalent ufunc | Description |

    | -------- | ---------------- | ----------------------------------- |

    | + | np.add | Addition (e.g., 1 + 1 = 2) |

    | - | np.subtract | Subtraction (e.g., 3 - 2 = 1) |

    | - | np.negative | Unary negation (e.g., -2) |

    | * | np.multiply | Multiplication (e.g., 2 * 3 = 6) |

    | / | np.divide | Division (e.g., 3 / 2 = 1.5) |

    | // | np.floor_divide | Floor division (e.g., 3 // 2 = 1) |

    | ** | np.power | Exponentiation (e.g., 2 ** 3 = 8) |

    | % | np.mod | Modulus/remainder (e.g., 9 % 4 = 1) |

    2)绝对值



    np.absolute



    3)三角函数



    逆三角函数

4)指数和对数

指数运算的逆运算, 即对数运算

np.log 以自然常数 e 为底数的对数

高级的通用函数特性

  • 指定输出

    out参数

  • 聚合

    reduce 方法会对给定的元素和操作 重复执行,直至得到单个的结果



如果需要保存计算的中间结果使用 accumulate

  • 外积

    任何通用函数都可以使用outer方法获得俩个不同输入 数组 所有元素对 的函数运算结果。

    可以用一行代码实现一个乘法表

聚合:最小值、最大值和其他值

  • 数组值求和



    sum 和 np.sum不一样。np.sum更快。np.sum 知道数组的维度

  • 最小值,最大值

    np.min np.max
  • 多维度聚合

    默认是整个数组的聚合结果,可以按照某个维度聚合。 参数 axis

  • 其他聚合函数

    | Function Name | NaN-safe Version | Description |

    | ------------- | ---------------- | ----------------------------------------- |

    | np.sum | np.nansum | Compute sum of elements |

    | np.prod | np.nanprod | Compute product of elements |

    | np.mean | np.nanmean | Compute mean of elements |

    | np.std | np.nanstd | Compute standard deviation |

    | np.var | np.nanvar | Compute variance |

    | np.min | np.nanmin | Find minimum value |

    | np.max | np.nanmax | Find maximum value |

    | np.argmin | np.nanargmin | Find index of minimum value |

    | np.argmax | np.nanargmax | Find index of maximum value |

    | np.median | np.nanmedian | Compute median of elements |

    | np.percentile | np.nanpercentile | Compute rank-based statistics of elements |

    | np.any | N/A | Evaluate whether any elements are true |

    | np.all | N/A | Evaluate whether all elements are true |

Python数据科学手册-Numpy数组的计算,通用函数的更多相关文章

  1. Python数据科学手册-Numpy数组的计算:广播

    广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...

  2. Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引

    Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算 同样,使用其他通用函数实现数组的逐元素的 比较 < > 这些运算结果 是一个布尔数据类型的数组. 有6种标准的比较操作 ...

  3. Python数据科学手册-Numpy数组的排序

    1)  Numpy中的快速排序: np.sort  和 np.argsort np.sort 是快速排序,算法复杂度 O[ N log N] ,也可以选择归并排序和堆排序 如果不想修改原始输入数组,返 ...

  4. Python数据科学手册-Numpy入门

    通过Python有效导入.存储和操作内存数据的技巧 数据来源:文档.图像.声音.数值等等,将所有的数据简单的看做数字数组 非常有助于 理解和处理数据 不管数据是何种形式,第一步都是 将这些数据转换成 ...

  5. Python数据科学手册-Numpy的结构化数组

    结构化数组 和 记录数组 为复合的.异构的数据提供了非常有效的存储 (一般使用pandas 的 DataFrame来实现) 传入的dtpye 使用 Numpy数据类型 Character Descri ...

  6. Python数据科学手册

    Python数据科学手册(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1KurSdjNWiwMac3o3iLrzBg 提取码:qogy 复制这段内容后打开百度网盘手 ...

  7. 100天搞定机器学习|day45-53 推荐一本豆瓣评分9.3的书:《Python数据科学手册》

    <Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供nda ...

  8. Python数据科学手册-前言

    读Python数据科学手册 笔记 系列 数据科学 data science https://img2022.cnblogs.com/blog/2827305/202205/2827305-202205 ...

  9. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

随机推荐

  1. Tapdata x 轻流,为用户打造实时接入轻流的数据高速通道

      在全行业加速布局数字化的当口,如何善用工具,也是为转型升级添薪助力的关键一步.   那么当轻量的异构数据实时同步工具,遇上轻量的数字化管理工具,将会收获什么样的新体验?此番 Tapdata 与轻流 ...

  2. HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!

    HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈 ...

  3. SQLZOO练习7--Using NULL

    teacher表: id dept name phone mobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 555 19 ...

  4. 参数化设计(多次调用同一子模块,critical warning,引脚constraint sources)

    1.设计定义:4个led灯以不同的频率各自闪烁. 2.设计输入:时钟信号,复位信号,led多位输出. 思路:没有要求流水的效果,所以不需要叠加counter达到某一特定值来位移.只需要让每个灯的闪烁周 ...

  5. 【每天学一点-04】使用脚手架搭建 React+TypeScript+umi.js+Antd 项目

    一.使用脚手架搭建项目框架 1.首先使用脚手架搭建React项目(React+TypeScript+Umi.js) 在控制台输入命令:yarn create @umijs/umi-app 2.引入An ...

  6. 算法竞赛进阶指南 0x43 线段树

    目录 线段树简介 线段树的简单代码实现 建树代码 修改操作 查询操作 线段树的查询操作的时间复杂度分析: AcWing245. 你能回答这些问题吗 思路 代码[时间复杂度:\(O( \space(N+ ...

  7. 好串_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  8. .Net之时间轮算法(终极版)定时任务

    TimeWheelDemo 一个基于时间轮原理的定时器 对时间轮的理解 其实我是有一篇文章(.Net 之时间轮算法(终极版))针对时间轮的理论理解的,但是,我想,为啥我看完时间轮原理后,会采用这样的方 ...

  9. 【洛谷P1754 球迷购票问题】题解

    传送门 卡特兰数经典 \(\texttt{AB}\) 分拆问题. 分析: 题意相当于排列 \(n\) 个 \(\texttt A\) 和 \(n\) 个 \(\texttt B\),使得相邻 \(\t ...

  10. 2507-AOP- springboot中使用-使用注解方式

    Springboot中使用aop,与SSM中使用AOP,整体配置与编写方式都是类似的.但是Springboot简化了很多xml配置,切点的表达式可以直接进行javaconfig. 记录一些示例 spr ...