前语
前一篇文章咱们现已对Numpy有了一个大概的知道,了解了ndarray的几种创建办法,它的索引与切片相关内容以及一些换轴操作。今天咱们就来更加深化的了解Numpy的相关操作数据剖析需求学哪些。
通用函数
通用函数,又能够称为ufunc,是一种在ndarray数据中进行逐元素操作的函数,有许多ufunc是简略的逐元素转化,它们被称为一元通用函数,比如sqrt或exp函数,别离进行开方操作和以e为底的指数。
代码如下
i矩阵和行列式的差异mport numpy as np
arr = np.arange数组公式(10)
print(arr)
print(数据剖析np.sqrt(arr))
print(np.exp(arr))
作用如下
[0 1 2 3 4 5 6 7 8 9]
[0. 1. 1.4142矩阵1356 1.73205081 2. 2.23606798
2.44矩阵的初等变换规矩948974 2.64575131 2.82842712 3. ]
[1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01
5数据剖析办法.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03
2.9809数据剖析5799e+03 8.10308393e+03]
二元通用函数会接受两个数组作为参数,并且回来数组初始化一个数组作为作用。例如a矩阵和行列式的差异dd,maxi数据剖析师资格证书mum。maximum核算两个
代码如下
import numpy as np
arr1 = np.random.randn(8)
arr2数据剖析师高薪圈套 = np.random.randn(8数组的定义)
print(arr1)
print(arr2)
print(np.add(arr1, arr2)矩阵和行列式的差异)
print(np.maximum(arr1, arr2))
作用如下
[-0.87594347 -0.12273679 -0.14468199 0.79499301 0.48304519 1.42数组的定义611994
0.18478049 -0.矩阵和行列式的差异7763473数组4]
[-1.22720664 -0.5021539 -0.46341915 -1.09360896 -0.11567866 1.442矩阵的初等变换规矩62963
1.3676035 0.87728414]
[-2.10315011 -0.62489069 -数据剖析师要考什么证0.60810113 -0.数据剖析陈述29861595 0.367366矩阵游戏53 2.86874957
1.55238399 0.1009368 ]
[-0.87594347 -0.12273679 -0.14468199 0.7数据剖析师高薪圈套9499301 0.48矩阵304519 1.44262963
1.3676035 0.87728414]
常用的通用函数如下
一元通用函数
函数名 | 描绘 |
---|---|
abs | 核算绝对值 |
aqrt | 核算平方根(与arr**0.5持平) |
square | 核算平方(与arr**2持平) |
二矩阵的初等变换规矩元通数据剖析用函数
函数名 | 描绘 |
---|---|
add | 相加 |
subtract | 在第二个数组中,将第一个数据包括的元素去除 |
multiply | 将数组元素相乘 |
divide,floor_divide | 除或数据剖析师要考什么证整除 |
power | 将第二个数组的值作为第一个数组的幂次方 |
maximum, fmax | 核算最大值,f数组词max数组初始化忽略NaN |
minimum,fmin | 核算最小值,fmi数据剖析需求学哪些n忽略矩阵的初等变换规矩NaN |
mod | 求模 |
面向数组编程
运用NumPy数组能够使你运用简略的数组表达式完结多种数据操作任务,而无需写些许多循环。这种运用数组表达式替代显现循环数据剖析师要考什么证的办法称为向量数组词化。
在NumPy中np.where就是三元表达式 x if cond数组词ition else y的向量化版别。where在数据剖析中的一个典型用法就是矩阵的乘法运算依据一个数组来生成一个新的数组。比如说你想将一个数组中的悉数正值替换为2,悉数负值替换为-2,用where完结就会非常简略,比如如下。
import numpy as np
arr = np.random.randn(数组初始化4, 4)
arr1 = np.where(arr > 0,数据剖析师资格证书 2, -2)
print(arr)
print(arr1数组)
作用如下
[[-0.96494491 0.07379061 -1.27861559 1.00250552]
[ 1.92868117 -0.7矩阵相乘怎么算1947891 -0.46209623 -矩阵游戏0.25288092]
[ 0.02809471 0.0156134 -0.41930177 0.4971246 ]
[ 2.34854456 0.537数组初始化15659 1.29290707 -1.5782504 ]数据剖析师]
[[-2 2 -2 2]
[ 2 -2 -2 -2]
[ 2 2 -2 2]
[ 2 2 2 -2]]
数学与核算办法
许多关于核算整个数组矩阵的乘法运算核算值或许关于轴向数据的数学函数,能够作矩阵的迹为数组类型的办法被调用,也能够调用顶层的数据剖析师NumPy函数。比如如下,mean是求均匀值的函数。
代码如下
import numpy as np
arr = np.random.randn(5, 4)
print(arr)
p数据剖析需求学哪些rint(arr.me数据剖析陈述an())
print(np.mean(arr))
作用如下
[[ 1.24215748 0.29118319 -0.150953矩阵相乘怎么算41 -1.18315436]
[ 0.34114254 0.67807088 -0.35850545 -数组去重0.02837数据剖析办法22 ]
[ 0.49374135 2.数据剖析师要考什么证20303723数组初始化 1.16090384 0.48882664]
[ 0.7933995 -0.87707374 1.16431334 -0.9578789 ]
[-0.96946034 0.80809035 1.2987827 -0.1868矩阵乘法0409]]
0.3125723270734698
0.3125723270734698
像mean、sum等函数可接收一个可选参数axis,这个参数能够用于核算定轴向上的核算值,构成一个下降一维度的数组,例如arr.m数据剖析需求学哪些ea数组n(1)数据剖析师资格证书标明核算每一列的均匀值,arr.sum(0)标明核算每一行的和。
代码如下
import numpy as np
arr = np.random.randn(5, 4)
print(arr)
print(arr.mean(1))
print(arr.sum(0))
作用如下
[[ 0.73681373 -0.47219867 -1.79257559 0.61201661]
[-0.368285数据剖析73 -0.94568274 0.19655693 -0.51870822]
[-2.28839471 0.1913941矩阵和行列式的差异 0.4531042数据剖析办法6 0.72263832]
[ 0.78532131 0.86428249 -0.7225563 -0.695矩阵和行列式的差异3199 ]
[ 0.71222315 0.2859414 1.89264378 -0.60046051]数据剖析需求学哪些]
[-0.22898598 -0.40902994 -0.23031451 0.0579319 0.57258696]
[-0.42232225 -0.07626342 0.02717308 -0.47983371]
根底数组数组c言语核算办法
办法 | 描绘 |
---|---|
sum | 沿着轴向核算悉数元素数组指针累计和,0长度数组累计和为0 |
mean | 数学均匀,0长度的数组均匀值为NaN |
std,var | 标准差和方差 |
min, max | 最小值和最大值 |
ar数据剖析师高薪圈套gmin, argmax | 最小值和最大值的方位 |
cumsum | 从0开端元素累计和 |
cumprod | 从1开端累积积 |
前面介绍过,布尔值会被强制为1(True)和0(False),因而su数组函数的运用办法m一般能够用于核算布尔数组中True的个数。
代码如下
import numpy as np
arr = np.random.randn(5, 4)
print(arr)
p矩阵的逆rint((arr > 0).sum())
作用如下
[[ 6.71705665e-02 1.61629530e-02 1.76841029e+00 4.23138695e-01]
[ 1.12480214e-03 -4.01747051e-01 7.13198516e-01 2.19474387e+00]
[ 1.72505405e+00 -7.08562407e-01 4.29636061e-01 1.03数据剖析师要考什么证900746e-01]
[-5.64386934e-01 1.94245960e+00 -3.59287矩阵的逆169e-01 -1.57861659e+00]
[-2.87704451e-01 -5.07660259e-01 5.56993656e-01 1.28515104e+00]]
13
仅有值与其他集结逻辑
Numpy包括了一些针对一维ndarray的根底集结操作,常用的一个办法是np.unique,回数据剖析师要考什么证来数组中仅有值排序后构成的数组。
代码如下
import numpy as np
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
print(np.unique(names)数据剖析软件)
作用如下
[数据剖析师资格证书'Bob' 'Joe' 'Will']
数组的集结操作
办法 | 描绘 |
---|---|
unique(x) | 核算x的仅有值,数组词并排序 |
inter数据剖析师资格证书sect1d(x, y) | 核算x和y的交集并排序 |
union1d(x, y) | 核算x和y的并集并排序 |
in1d数据剖析师资格证书(x, y) | 核算x是否包括y,回来一个布尔值 |
setdiff1d(x,y) | 核算差集,在x中但不在数据剖析需求学哪些y中的x的元素 |
setxor1d(x,y) | 核算异或,在x或y中数组初始化,但不属于x,y交集的元素 |
线性代数
线性代数,比如矩阵乘法、分解、行列式等方阵是悉数数组类库的重要组成矩阵游戏部分。
办法 | 描绘 |
---|---|
diag | 将一个数据剖析师要考什么证方阵的对角元素作为一维数组回来,或许将一维数组换成一数组词个方阵 |
d矩阵的乘法运算ot | 矩阵点乘 |
trace | 核算对角元素和 |
det | 核算矩阵行列式 |
eig | 核算方阵的特征值和特征向量 |
inv数组和链表的差异 | 核算方阵的数组去重逆矩阵 |
svd | 奇异值分解 |
lstsq | 核算Ax = b的最小二乘解矩阵计算器 |
最终
今天咱们了解了NumPy的通用函数、面向数组的编程和一些线性代数的相关内容。更多的精彩文章能够重视群众号QStack数据剖析办法。