前语

前一篇文章咱们现已对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数据剖析办法