本文主要是介绍Numpy中Ndarray数组的运算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Numpy中Ndarray数组的运算
这部分主要介绍数组的基本运算,主要涉及到与标量的计算以及自带的一些函数.
1. 数组与标量之间的运算
数组中的每个元素与标量进行相乘或相除,相加或相减运算即可.
创建数组
a_234 = np.arange(24).reshape((2,3,4))
a_234
>>array([[[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]],[[12, 13, 14, 15],[16, 17, 18, 19],[20, 21, 22, 23]]])
进行加减乘除运算
// 与标量进行乘除运算
a_234/a.mean()
>>array([[[0. , 0.28571429, 0.57142857, 0.85714286],[1.14285714, 1.42857143, 1.71428571, 2. ],[2.28571429, 2.57142857, 2.85714286, 3.14285714]],[[3.42857143, 3.71428571, 4. , 4.28571429],[4.57142857, 4.85714286, 5.14285714, 5.42857143],[5.71428571, 6. , 6.28571429, 6.57142857]]])//与标量进行加减运算
a_234+10
>>array([[[10, 11, 12, 13],[14, 15, 16, 17],[18, 19, 20, 21]],[[22, 23, 24, 25],[26, 27, 28, 29],[30, 31, 32, 33]]])
2. numpy中自带的对数据操作的一元函数
这些函数会对数组中的每一个元素进行相同的操作,a表示数组,可以是一维也可以是多维。
函数 | 功能 |
---|---|
np.abs(a) 或 np.fabs(a) | 计算各个元素的绝对值 |
np.sqrt(a) | 计算数组各元素的平方根 |
np.square(a) | 计算数组各元素的平方根 |
np.log(a)、np.log10(a)、np.log2(a) | 计算数组各元素的自然对数、10底对数、2底对数 |
np.ceil(a)、np.floor(a) | 计算数组各元素的ceiling值或floor值 |
np.around(a, decimals=0, out=None) | 按指定的小数点位数返回新的数组 |
np.rint(a) | 计算数组各元素的四舍五入值 |
np.modf(a) | 将数组各元素的小数和整数部分以两个独立的数组形式返回 |
np.cos(a)、np.sin(a)、np.tan(a)、np.cosh(a)、np.sinh(a)、np.tanh(a) | 数组各元素进行平通型和双曲型三角函数 |
np.exp(a) | 指数运算 |
np.sign(a) | 计算各元素的符号值,1(+),0,-1(-) |
a**2 | 对数组各元素进行指数运算 |
注意:
- ceil表示不小于这个元素的最小整数值;
- floor表示不大于这个元素的最大整数值。
- around():decimals 要舍入的小数位数。 默认值为0; 如果为负,整数将四舍五入到小数点左侧的位置.
- 函数并不会改变原来的数组,而是返回一个新的数组。
3. numpy中自带的对数据操作的二元函数
主要涉及到两个数组各元素之间的运算,x/y都是数组,数组的类型必须一致.
函数 | 功能 |
---|---|
+ - * / ** | 两个数组中的元素进行对应的运算 |
np.minimum(x.y),np.maximun(x,y) | 各对应元素之间的最小/最大的 |
np.mod(x,y) | 元素级的模运算 |
np.copysign(x,y) | 将数组y中的元素值的符号赋给数组x中的对应元素 |
> < >= <= == != | 算术比较,产生布尔型数组 |
如果你喜欢我的文章,欢迎关注并转发。
这篇关于Numpy中Ndarray数组的运算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!