矩阵运算
import numpy as np
l=np.arange(5)
a=np.array(2*e for e in l)
a
>>>array(<generator object <genexpr> at 0x10ee9e830>, dtype=object)
l
>>>array([0, 1, 2, 3, 4])
l*2
>>>array([0, 2, 4, 6, 8])
l / 2
>>>array([0. , 0.5, 1. , 1.5, 2. ])
l //2
>>>array([0, 0, 1, 1, 2])
l
>>>array([0, 1, 2, 3, 4])
np.abs(l)
>>>array([0, 1, 2, 3, 4])
np.cos(l)
>>>array([ 1. , 0.54030231, -0.41614684, -0.9899925 , -0.65364362])
np.exp(l)
>>>array([ 1. , 2.71828183, 7.3890561 , 20.08553692, 54.59815003])
np.power(3,l)
>>>array([ 1, 3, 9, 27, 81])
np.log2(l)
/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in log2
"""Entry point for launching an IPython kernel.
>>>array([ -inf, 0. , 1. , 1.5849625, 2. ])
矩阵运算
aa=np.arange(4).reshape(2,2)
aa
>>>array([[0, 1],
[2, 3]])
b=np.full((2,2),10)
b
>>>array([[10, 10],
[10, 10]])
aa+b
>>>array([[10, 11],
[12, 13]])
aa-b
>>>array([[-10, -9],
[ -8, -7]])
aa.dot(b)
>>>array([[10, 10],
[50, 50]])
aa.T
>>>array([[0, 2],
[1, 3]])
向量和矩阵的运算
v=np.array([1,2])
aa
>>>array([[0, 1],
[2, 3]])
v+aa
>>>array([[1, 3],
[3, 5]])
np.vstack([v]*aa.shape[0])
>>>array([[1, 2],
[1, 2]])
np.tile(v,(2,1))
>>>array([[1, 2],
[1, 2]])
v*aa
>>>array([[0, 2],
[2, 6]])
np.linalg.inv(aa)
>>>array([[-1.5, 0.5],
[ 1. , 0. ]])
pinvaa=np.linalg.pinv(aa)
pinvaa
>>>array([[-1.50000000e+00, 5.00000000e-01],
[ 1.00000000e+00, 4.21097322e-17]])