Python通用函式實現陣列計算

2022-06-06 10:45:07 字數 1839 閱讀 3725

一.陣列的運算

陣列的運算可以進行加減乘除,同時也可以將這些算數運算子進行任意的組合已達到效果。

>>> x=np.arange(5)

>>> x

array([0, 1, 2, 3, 4])

>>> x=5

>>> x=np.arange(5)

>>> x+5

array([5, 6, 7, 8, 9])

>>> x-5

array([-5, -4, -3, -2, -1])

>>> x*2

array([0, 2, 4, 6, 8])

>>> x/2

array([0. , 0.5, 1. , 1.5, 2. ])

>>> x//2

array([0, 0, 1, 1, 2], dtype=int32)

二.絕對值的運算

一共有三種方法,第一種方法是直接利用不是numpy庫的abs函式進行計算,第二種和第三種方法則是利用numpy庫的abs函式和absolute函式進行運算。如下所示:

>>> x=np.array([1,2,3,-4,-5,-6])

>>> x

array([ 1, 2, 3, -4, -5, -6])

>>> abs(x)

array([1, 2, 3, 4, 5, 6])

>>> np.abs(x)

array([1, 2, 3, 4, 5, 6])

>>> np.absolute(x)

array([1, 2, 3, 4, 5, 6])

三.三角函式的運算

首先定義乙個a的np當中的array物件,然後再進行運算:

>>> a

array([0. , 1.57079633, 3.14159265])

>>> np.sin(a)

array([0.0000000e+00, 1.0000000e+00, 1.2246468e-16])

>>> np.cos(a)

array([ 1.000000e+00, 6.123234e-17, -1.000000e+00])

>>> np.tan(a)

array([ 0.00000000e+00, 1.63312394e+16, -1.22464680e-16])

四.指數和對數的運算

指數的運算:

>>> x=[1,2,3]

>>> x

[1, 2, 3]

>>> np.exp(x)

array([ 2.71828183, 7.3890561 , 20.08553692])

>>> np.exp2(x)

array([2., 4., 8.])

np.power(3,x)

array([ 3, 9, 27], dtype=int32)

對數的運算:

>>> np.log(x)

array([0. , 0.69314718, 1.09861229])

>>> np.log2(x)

array([0. , 1. , 1.5849625])

>>> x

[1, 2, 3]

>>> np.log10(x)

array([0. , 0.30103 , 0.47712125])

通用函式 快速的元素級陣列函式

通用函式 及ufunc 是一種對ndarray中的資料執行元素級運算的函式。你可以將其看作簡單函式 接受乙個或多個標量值,並產生乙個或多個標量值 的向量化包裝器。abs,fabs sqrt square explog,log10,log2,log1p sign ceil floor rint mod...

用Python實現徑向分布函式(RDF)的計算

首先,因為我需要讀lammps的輸出的dump檔案,所以readxyzufile 所實現的是讀入dump檔案的功能。然後進入正題,說白了,計算rdf就是計算粒子與粒子之間的距離,並按照距離的遠近進行統計。在這裡說明一下,為了能夠使 可以計算包含兩種粒子的體系,在一些細節方面會有些小的變動。wrap ...

ROC, AUC 以及 Python實現AUC計算

本文主要對roc,auc概念進行介紹,並且用python手動實現auc的計算 對於乙個二分類分類器來說,對於任意樣本,我們都可以得到該樣本屬於正例的概率。我們可以根據這個概率對所有樣本進行排序,最可能 是正例的排在最前面,最不可能 是正例的排在最後面,分類過程就相當於選擇某個 截斷點 將所有樣本分成...