NumPy基本运算

NumPy加减法与比较运算

>>> import numpy as np
>>> a = np.array([20,30,40,50])
>>> b = np.arange(4)
>>> a
array([20, 30, 40, 50])
>>> b
array([0, 1, 2, 3])
>>> c = a - b
>>> c
array([20, 29, 38, 47])   
>>> a<35
array([ True,  True, False, False], dtype=bool)

NumPy乘法、幂

NumPy中的乘法运算符 * 指示按元素计算,矩阵乘法可以使用dot函数实现。

>>> A = np.array([[1,1],[0,1]])
>>> B = np.array([[2,0],[3,4]])
>>> A*B
array([[2, 0],
       [0, 4]])
>>> np.dot(A,B)
array([[5, 4],
       [3, 4]])
>>> b**2
array([0, 1, 4, 9], dtype=int32)

NumPy不同类型数组运算

>>> from math import * 
>>> pi
3.141592653589793
>>> a = np.ones(3,dtype = 'int32')
>>> b = np.linspace(0,pi,3)
>>> b.dtype.name
'float64'
>>> c = a+b
>>> c
array([ 1.        ,  2.57079633,  4.14159265])
>>> c.dtype.name
'float64'
>>> d = np.exp(c*1j)
>>> d
array([ 0.54030231+0.84147098j, -0.84147098+0.54030231j,
       -0.54030231-0.84147098j])
>>> d.dtype.name
'complex128'

NumPy其他基本运算

有些操作符像 +=和 *=被用来更改已存在数组而不创建一个新的数组。

>>> a = np.ones((2,3),dtype = int)   
>>> b = np.random.random((2,3))
>>> a *= 3
>>> a
array([[3, 3, 3],
       [3, 3, 3]])
>>> b += a
>>> b
array([[ 3.82986646,  3.12984628,  3.04199739],
       [ 3.08196784,  3.89521315,  3.47708674]])

计算数组所有元素之和:

>>> a = np.random.random((2,3))
>>> a
array([[ 0.142158  ,  0.01283147,  0.92017215],
       [ 0.92969843,  0.552302  ,  0.98828714]])
>>> a.sum()
3.5454491942571247
>>> a.max()
0.9882871427681359

指定 axis参数可以把运算应用到数组指定的轴上:

>>> b = np.arange(12)
>>> b
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>> b = b.reshape(3,4)
>>> b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> b.sum(axis=0)
array([12, 15, 18, 21])
>>> b.min(axis=1)
array([0, 4, 8])
>>> b.cumsum(axis=1)
array([[ 0,  1,  3,  6],
       [ 4,  9, 15, 22],
       [ 8, 17, 27, 38]], dtype=int32)

NumPy通用函数

NumPy提供常见的数学函数如 sin, cos和 exp。在NumPy中,这些叫作“通用函数”(ufunc)。

>>> B = np.arange(3)
>>> B
array([0, 1, 2])
>>> np.exp(B)
array([ 1.        ,  2.71828183,  7.3890561 ])
>>> np.sqrt(B)
array([ 0.        ,  1.        ,  1.41421356])
>>> C = np.array([2.,-1.,4.])
>>> np.add(B,C)
array([ 2.,  0.,  6.])    
>>> 10*np.sin(a)
array([ 9.12945251, -9.88031624,  7.4511316 , -2.62374854])

参考自微信公众号:机器学习算法与Python学习,收藏 | Numpy详细教程,2018年11月26日。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值