四、Numpy基础:数组运算

h2 { font-size: 24px; height: 35px; line-height: 35px !important; width: 95%; background-color: #169FE6; padding-left: 10px; color: white }
table { border: 1px solid #d3d3d3; background: #fefefe; width: 90% }
th,td { padding: 0.5% 1% 0.5% }
th { background: #e8eaeb }
td { border-top: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0 }
tr:nth-child(2n+1) { background: #f6f6f6 }
td.first,th.first { text-align: left }
td.last { border-right: none }
td { background: -webkit-gradient(linear, 0% 0%, 0% 25%, from(#f9f9f9), to(#fefefe)) }
tr:nth-child(2n+1) td { background: -webkit-gradient(linear, 0% 0%, 0% 25%, from(#f1f1f1), to(#f6f6f6)) }
th { background: -webkit-gradient(linear, 0% 0%, 0% 20%, from(#ededed), to(#e8eaeb)) }
tr:first-child th.first { }
tr:first-child th.last { }
tr:last-child td.first { }
tr:last-child td.last { }
.syntaxhighlighter { width: 95% !important }

一、矢量运算

  • 数组不用循环即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化,即用数组表达式代替循环的做法。
  • 矢量化数组运算性能比纯Python方式快上一两个数据级。
  • 大小相等的两个数组之间的任何算术运算都会将其运算应用到元素级上的操作。

元素级操作:在NumPy中,大小相等的数组之间的运算,为元素级运算,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组,运算结果的位置跟操作数位置相同。

类型 函数 运算符 说明
基础运算 add(a,b[,c]) c=a+b 加法
subtract(a,b[,c]) c=a-b 减法
multiply(a,b[,c]) c=a*b 乘法
divide(a,b[,c]) c=a/b 除法(python3中,divide与true_divide用法相同)
floor_divide(a,b[,c]) c=a//b 除法,结果向下取整
negative(a[,c]) c=-a 取反
power(a,b[,c]) c=a**b a的b次方
remainder(a,b[,c]) c=a%b 取模(亦可写作mod(a,b[,c]))
fmod(a,b[,c]) None 带符号取模,正负由a决定
比较运算 equal(a,b[,c]) c=a==b 比较结果c是布尔数组
not_equal(a,b[,c]) c=a!=b
less(a,b[,c]) c=a<b
less_equal(a,b[,c]) c=a<=b
greater(a,b[,c]) c=a>b
greater_equal(a,b[,c]) c=a>=b
统计运算  sum(a[,axis,c]) None 总和:可以通过axis参数定义统计维度
min(a[,axis,c]) None  最小值:可以通过axis参数定义统计维度
max(a[,axis,c]) None  最大值:可以通过axis参数定义统计维度
mean(a[,axis,c]) None 平均值:可以通过axis参数定义统计维度
std(a[,axis,c]) None 标准差:可以通过axis参数定义统计维度
var(a[,axis,c]) None 方差:可以通过axis参数定义统计维度
median(a[,axis,c]) None 中位数:可以通过axis参数定义统计维度
ptp(a[,axis,c]) None 极差:最大值最小值之差
diff(a[,axis,c]) None 离散差:相邻数组元素的差值构成的数组
三角函数运算 sin(a[,axis,c]),arcsin(a[,axis,c]) None 正弦(反正弦)
cos(a[,axis,c]),arccos(a[,axis,c]) None 余弦(反余弦)
tan(a[,axis,c]),arctan(a[,axis,c]) None 正切(反正切)
sinh(a[,axis,c]),arcsinh(a[,axis,c]) None 双曲型正弦(反双曲型正弦)
cosh(a[,axis,c]),arccosh(a[,axis,c]) None 双曲型余弦(反双曲型余弦)
tanh(a[,axis,c]),arctanh(a[,axis,c]) None 双曲型正切(反双曲型正切)
对数运算 log(a[,axis,c]) None 以e为底a的对数值
log2(a[,axis,c]) None 以2为底a的对数值
log10(a[,axis,c]) None 以10为底a的对数值
log1p(a[,axis,c]) None 以e为底a+1的对数值

二、内置函数

原文地址:https://www.cnblogs.com/hezhefly/p/8282942.html

时间: 2024-11-05 22:54:50

四、Numpy基础:数组运算的相关文章

python numpy基础 数组和矢量计算

在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率, 类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下简单的例子 import numpy as np data=np.array([2,5,6,8,3]) #构造一个简单的数组 print(data) 结果: [2 5 6 8 3] data1=np.array([[2,5,6,8,3],np.arange(5)])  #构建一个二维数组 print(d

利用Python进行数据分析 第4章 NumPy基础-数组与向量化计算(2)

2.3 NumPy数组的运算 数组,不需要编写循环即可对数据执行批量运算!NumPy用户称此特性为矢量化(vectorization). (1)大小相等的数组之间的任何算术运算都会将运算应用到元素级 (2)数组与标量的算术运算将标量值传播到各个元素 PS:**在python中表示幂运算,如,2**3表示2的3次方 (3)大小相同的数组之间的比较会生成布尔值数组 (不同大小的数组之间的运算叫广播,本书不需要多广播机制深入理解) 2.4 基本的索引和切片 数组与列表的重要区别在于:数组切片是原始数组

《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

第四章 Numpy基础:数组和矢量计算 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy和面向数组的计算能有助于理解后面的pandas.按照课本的说法,作者关心的功能主要集中于: 用于数据整理和清理.子集构造和过滤.转换等快速的矢量化运算 常用的数组解法,如排序.唯一化.集合运算等 高效的描述统计和数据聚合/摘要运算 用于异构数据集的合并/连接运算的数据对齐和关系型数据运算 将条件逻辑表述为数组表达式(而不是带有if-elif-else分支

《利用Python进行数据分析&#183;第2版》第四章 Numpy基础:数组和矢量计算

<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对象.其C语言编写的算法库可以操作内存而不必进行其他工作.比起内置序列,使用的内存更少(即时间更快,空间更少) numpy可以在整个数组上执行复杂的计算,而不需要借助python的for循环 4.0 前提知识 数据:结构化的数据代指所有的通用数据,如表格型,多维数组,关键列,时间序列等 相关包:numpy pa

利用 Python 进行数据分析(四)NumPy 基础:ndarray 简单介绍

一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 二.ndarray 是什么 ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点. ndarray 的一个特点是同构:即其中所有元素的类型必须相同. 三.ndarray 的创建 array() 函数 最简单的方法, 使用 NumPy 提供的

Numpy 基础运算1

数组运算 import numpy as np a=np.array([10,20,30,40]) # array([10, 20, 30, 40]) b=np.arange(4) # array([0, 1, 2, 3]) 数组相加相减 c=a-b # array([10, 19, 28, 37]) 数组相乘 c=a*b # array([ 0, 20, 60, 120]) 数组乘方 c=b**2 # array([0, 1, 4, 9]) Numpy中具有很多的数学函数工具,比如三角函数等

numpy基础--利用数组进行数据处理

1 利用数组进行数据处理 numpy数组可以将许多种数据处理任务表述为简洁的数组表达式,用数组表达式替换循环的做法,通常被称为矢量化. 例如:我们想要处理一组值(网格型)上计算函数sqrt(x^2 + y^2).np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x, y)对). 1 >>> a = np.array([1, 2, 3]) 2 >>> b = np.array([4, 5, 6]) 3 >>> ax,

numpy 数组运算

对数组做基本的算术运算,将会对整个数组的所有元组进行逐一运算,并将运算结果保存在一个新的数组内,而不会破坏原始的数组. >>> a = np.array( [20,30,40,50] ) >>> b = np.arange( 4 ) >>> b array([0, 1, 2, 3]) >>> c = a-b >>> c array([20, 29, 38, 47]) >>> b**2 array([

Numpy基础学习

Numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包. 主要的功能: 1.ndarray,一个具有矢量运算和复杂广播工能的快速且节省空间的多维数组 2.用于对整组数据进行快速运算的标准数据函数(无需编写循环) 3.用于读写磁盘数据的工具以及用于操作内存映射文件的工具 4.线性代数.随机数生成以及傅里叶变换功能 5.用于集成由C.C++.Fortran等语言编写的代码的工具 一.Numpy的ndarray:一种多维数组对象. numpy最重要的特点: 1.其N维数