數組的函數有一元函數(對一個結果數組進行計算)與二元函數(兩個數組之間的計算);計算結果可以輸出為新對象,也可改變數組本身

JavaScript 一元二次方程曲線_#numpy


JavaScript 一元二次方程曲線_#python_02

實例:運算函數
1、不改變數組本身
  • 一元函數
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('數組b:\n',b)
print('數組a:\n',a)
print('a+b的絕對值:\n',np.abs(a+b))
print('a的平方根:\n',np.sqrt(a))
print('a的平方:\n',np.square(a))
print('a的指數:\n',np.exp(a))
print('a的底數為10的log:\n',np.log10(a))
print('a的元素正負布爾值:\n',np.sign(a))
print('a中>=每個元素的最小整數:\n',np.ceil(a))
print('a中<=每個元素的最小整數:\n',np.floor(a))
print('a中每個元素四捨五入的整數:\n',np.rint(a))
print('a中每個元素的整數與小數:\n',np.modf(a))
print('a中每個元素是否為NaN的布爾值:\n',np.isnan(a))
print('a中每個元素是否為無窮的布爾值:\n',np.isinf(a))
print('a中每個元素是否為非空有窮的布爾值:\n',np.isfinite(a))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
數組b:
 [0 1 2 3]
數組a:
 [ 1.2 -1.   2.5  3. ]
a+b的絕對值:
 [1.2 0.  4.5 6. ]
a的平方根:
 [1.09544512        nan 1.58113883 1.73205081]
a的平方:
 [1.44 1.   6.25 9.  ]
a的指數:
 [ 3.32011692  0.36787944 12.18249396 20.08553692]
a的底數為10的log:
 [0.07918125        nan 0.39794001 0.47712125]
a的元素正負布爾值:
 [ 1. -1.  1.  1.]
a中>=每個元素的最小整數:
 [ 2. -1.  3.  3.]
a中<=每個元素的最小整數:
 [ 1. -1.  2.  3.]
a中每個元素四捨五入的整數:
 [ 1. -1.  2.  3.]
a中每個元素的整數與小數:
 (array([ 0.2, -0. ,  0.5,  0. ]), array([ 1., -1.,  2.,  3.]))
a中每個元素是否為NaN的布爾值:
 [False False False False]
a中每個元素是否為無窮的布爾值:
 [False False False False]
a中每個元素是否為非空有窮的布爾值:
 [ True  True  True  True]
  • 二元函數
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('數組b:\n',b)
print('數組a:\n',a)
print('a+b:\n',np.add(a,b))#或a+b
print('a-b:\n',np.subtract(a,b))#或a-b
print('a*b:\n',np.multiply(a,b))#或a*b
print('a/b:\n',np.divide(a,b))#或a/b
print('a/b的整數:\n',np.floor_divide(a,b))#或a//b
print('a/b的餘數:\n',np.mod(a,b))#或a%b
print('a的b次方:\n',np.power(a,b))
print('a與b的同索引上最大值的混合數組:\n',np.maximum(a,b))#np.fmax(a,b)忽略NaN值
print('a與b的同索引上最小值的混合數組:\n',np.minimum(a,b))#np.fmin(a,b)忽略NaN值
print('將b的元素符號賦給a的同索引上的元素:\n',np.copysign(a,b))
print('a是否大於b:\n',np.greater(a,b))#或a>b
print('a是否大於等於b:\n',np.greater_equal(a,b))#或a>=b
print('a是否小於b:\n',np.less(a,b))#或a<b
print('a是否小於等於b:\n',np.less_equal(a,b))#或a<=b
print('a是否等於b:\n',np.equal(a,b))#或a=b
print('a是否不等於b:\n',np.not_equal(a,b))#或a!=b
print('a>1且a>b的布爾值:\n',np.logical_and(a>1,a>b))#或print((a>1)&(a>b))
print('a>1或a>b的布爾值:\n',np.logical_or(a>1,a>b))#或print((a>1)|(a>b))
print('不屬於a>1且a>b的布爾值:\n',np.logical_not((a>1)&(a>b)))#或print((a<=1)|(a<=b))
print('輸出\'或\'而不是\'非和且\'(a>1,a>b)的布爾值:\n',np.logical_xor(a>1,a>b))#或print((a>1)^(a>b))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
數組b:
 [0 1 2 3]
數組a:
 [ 1.2 -1.   2.5  3. ]
a+b:
 [1.2 0.  4.5 6. ]
a-b:
 [ 1.2 -2.   0.5  0. ]
a*b:
 [ 0. -1.  5.  9.]
a/b:
 [  inf -1.    1.25  1.  ]
a/b的整數:
 [nan -1.  1.  1.]
a/b的餘數:
 [nan 0.  0.5 0. ]
a的b次方:
 [ 1.   -1.    6.25 27.  ]
a與b的同索引上最大值的混合數組:
 [1.2 1.  2.5 3. ]
a與b的同索引上最小值的混合數組:
 [ 0. -1.  2.  3.]
將b的元素符號賦給a的同索引上的元素:
 [1.2 1.  2.5 3. ]
a是否大於b:
 [ True False  True False]
a是否大於等於b:
 [ True False  True  True]
a是否小於b:
 [False  True False False]
a是否小於等於b:
 [False  True False  True]
a是否等於b:
 [False False False  True]
a是否不等於b:
 [ True  True  True False]
a>1且a>b的布爾值:
 [ True False  True False]
a>1或a>b的布爾值:
 [ True False  True  True]
不屬於a>1且a>b的布爾值:
 [False  True False  True]
輸出'或'而不是'非和且'(a>1,a>b)的布爾值:
 [False False False  True]
2、改變數組本身
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('輸出\'或\'而不是\'非和且\'(a>1,a>b)的布爾值:\n',np.logical_xor(a>1,a>b,b))#或print((a>1)^(a>b))
print('改變後的b:\n',b)

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
輸出'或'而不是'非和且'(a>1,a>b)的布爾值:
 [0 0 0 1]
改變後的b:
 [0 0 0 1]