Python的武器庫04:numpy模塊(上)

2021-01-11 明月小課堂

說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以又這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。

Python正式由於這些模塊的出現,只要引入這個模塊,調用這個模塊的集成函數,問題迎刃而解;不需要從頭開始,節省了大量的時間。

前面講了兩個處理數學問題的模塊math模塊和cmath模塊,今天要說的這個模塊numpy是一個更加強大的數學模塊,因為前面兩個模塊中的數學函數的參數是一個數,而numpy這個模塊的數學函數的參數可以是數組或矩陣,它還可以進行數組和矩陣的運算。

由於numpy模塊是第三方庫模塊,因此需要進行安裝。在cmd命令行窗口中輸入"pip install numpy",就可以進行安裝。

如果要使用numpy模塊,需要進入這個模塊。在python命令行窗口中輸入"from numpy import *",引入numpy模塊,就可以使用該模塊中的數學函數了。

三角函數(Trigonometric)

FunctionDescribe

sin(x[, out])正弦值

cos(x[, out])餘弦值

tan(x[, out]) 正切值

arcsin(x[, out]) 反正弦

arccos(x[, out]) 反餘弦

arctan(x[, out]) 反正切

hypot(x1, x2[, out]) 求直角三角形斜邊

arctan2(x1, x2[, out]) Element-wise arc tangent of x1/x2 choosing the quadrant correctly.

degrees(x[, out]) 弧度求角度

radians(x[, out]) 角度求弧度

unwrap(p[, discont, axis]) Unwrap by changing deltas between values to 2*pi complement.

deg2rad(x[, out]) 角度求弧度

rad2deg(x[, out]) 弧度求角度

雙曲線函數(Hyperbolic)

Function Describe

sinh(x[, out]) 雙曲線正弦

cosh(x[, out]) 雙曲線餘弦

tanh(x[, out]) 雙曲線正切

arcsinh(x[, out]) 反雙曲線正弦

arccosh(x[, out]) 反雙曲線餘弦

arctanh(x[, out]) 反雙曲線正切

四捨五入(Rounding)

FunctionDescribe

around(a[, decimals, out]) 以給定的小數位進行四捨五入

round_(a[, decimals, out])以給定的小數位進行四捨五入,等同於around

rint(x[, out]) 四捨五入到整數

fix(x[, y])向0取整,正數向下取整,負數向上取整

floor(x[, out])向下取整

ceil(x[, out]) 向上取整

trunc(x[, out]) 取整數部分

和、積、差異(Sums、Products、Differences)

FunctionDescribe

prod(a[, axis, dtype, out, keepdims])求積

sum(a[, axis, dtype, out, keepdims])求和

nanprod(a[, axis, dtype, out, keepdims])求積,預設值為1

nansum(a[, axis, dtype, out, keepdims])求和,預設值為0

cumprod(a[, axis, dtype, out])累積

cumsum(a[, axis, dtype, out])累和

nancumprod(a[, axis, dtype, out])累積,預設為1

nancumsum(a[, axis, dtype, out]) 累和,預設為0

diff(a[, n, axis]) out[n] = a[n+1] - a[n]

ediff1d(ary[, to_end, to_begin])The differences between consecutive elements of an array.

gradient(f, *varargs, **kwargs)Return the gradient of an N-dimensional array.

cross(a, b[, axisa, axisb, axisc, axis])Return the cross product of two (arrays of) vectors.

trapz(y[, x, dx, axis]) Integrate along the given axis using the composite trapezoidal rule.

指數、對數函數(Exponents&Logarithm)

FunctionDescribe

exp(x[, out])指數

expm1(x[, out])exp(x) - 1

exp2(x[, out])2**x

log(x[, out])對數

log10(x[, out])以10為底對數

log2(x[, out]) 以2為底對數.

log1p(x[, out])exp(x) - 1

logaddexp(x1, x2[, out])Logarithm of the sum of exponentiations of the inputs.

logaddexp2(x1, x2[, out]) Logarithm of the sum of exponentiations of the inputs in base-2.

算術運算

FunctionDescribe

add(x1, x2[, out])加法

reciprocal(x[, out]) 倒數

negative(x[, out]) 負數

multiply(x1, x2[, out]) 乘法

divide(x1, x2[, out]) 除法

power(x1, x2[, out]) 冪運算

subtract(x1, x2[, out]) 減法

true_divide(x1, x2[, out]) 真除法 /

floor_divide(x1, x2[, out]) 向下取整除法 //

fmod(x1, x2[, out]) 求餘

mod(x1, x2[, out]) 求餘,餘數為正

modf(x[, out1, out2]) 分別返回整數和餘數

remainder(x1, x2[, out]) 和mod相同

其他(Miscellaneous)

FunctionDescribe

convolve(a, v[, mode]) Returns the discrete, linear convolution of two one-dimensional sequences.

clip(a, a_min, a_max[, out])求某一範圍的值

sqrt(x[, out]) 開平方

cbrt(x[, out]) 開立方

square(x[, out]) 求平方

absolute(x[, out]) 絕對值

fabs(x[, out]) 絕對值

sign(x[, out]) 標記數字的正負零

maximum(x1, x2[, out]) 求最大值

minimum(x1, x2[, out]) 求最小值

fmax(x1, x2[, out]) 求最大值

fmin(x1, x2[, out]) 求最小值

nan_to_num(x)替換空值

real_if_close(a[, tol])If complex input returns a real array if complex parts are close to zero.

interp(x, xp, fp[, left, right, period])One-dimensional linear interpolation.

應該說,numpy模塊是比math和cmath模塊擁有更強大數學函數的模塊。

(該文章為原創,抄襲必究)

相關焦點

  • Python的武器庫05:numpy模塊(下)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以有這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。
  • Python模塊NumPy,Pandas,matplotlib的中文文檔
    今天比較忙所以不能寫長文了作為一名數據工程師需要熟練掌握python中的這些numpy,matplotlib,pandas,sklearn,seaborn,statsmodel.模塊但是由於這些模塊的文檔都是英文的可能一些英文不好的同學學起來會比較的困難,所以我從網上給大家找到一些中文的文檔
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    詳細細節請參考:python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數、Python使用ctypes模塊調用DLL函數之傳遞結構體參數這次講一下在Python中使用ctypes模塊調用DLL中的庫函數傳遞數組參數的情況。
  • 好程式設計師Python培訓分享numpy簡介
    二、numpy安裝 numpy要求python版本在3.5以上 1.windows下的安裝 · pip安裝 python -m pip install
  • 如果不懂Numpy,請別說自己是Python程式設計師
    了解 numpy之後,我才想明白當初磁層頂的三維模型之所以慢,是因為使用了 list(python 數組)而不是 ndarray(numpy 數組)存儲數據。有了 numpy,python 程式設計師才有可能寫出媲美 C 語言運行速度的代碼。
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    熟悉 NumPy,才能學會使用 PyOpenGL / PyOpenCV / Pandas / Matplotlib 等數據處理及可視化的模塊。事實上,NumPy 的數據組織結構,尤其是數組(numpy.ndarray),幾乎已經成為所有數據處理與可視化模塊的標準數據結構了(這一點,類似於在機器學習領域 Python 幾乎已經成為首選工具語言)。
  • Numpy基礎,一位Python大神的筆記,看了後我連Matlab都學會了!
    創建矩陣對於Python中的numpy模塊,一般用其提供的ndarray對象。 創建一個ndarray對象很簡單,只要將一個list作為參數即可。例如:常用矩陣函數同樣地,numpy中也定義了許多函數,使用這些函數可以將函數作用於矩陣中的每個元素。 表格中默認導入了numpy模塊,即 import numpy as np 。
  • Python學習第119課——numpy中的broadcasting
    【每天幾分鐘,從零入門python編程的世界!】這節課我們學習numpy中的數據的一個多變的特性--broadcasting,broadcasting的官方的說明比較麻煩,我們這裡把它簡化一下,就把它當做「腦補」的意思。我們舉例來說明。
  • Python學習第114課——numpy中ndarray的四則運算
    【每天幾分鐘,從零入門python編程的世界!】我們為什麼要學習numpy?numpy其實就是number+Python的簡寫,意思就是通過Python對數據進行處理。要對數據進行處理,就少不了最基本的加減乘除等操作。
  • 用R也可以跑Python了
    通過安裝包,你現在可以在R上運行Python的安裝包和函數了~今天文摘菌就來教教你咋用這個reticulate包。在R中導入一個python模塊您可以使用函數import()來導入特定的包或模塊。numpy <- import(「numpy」)使用numpy數組
  • Python使用ctypes模塊調用DLL函數之複數數組的參數傳遞
    在Python語言中,可以使用ctypes模塊調用其它如C++語言編寫的動態連結庫DLL文件中的函數,前面多篇文章中已經講了傳遞數值/指針/字符串參數、傳遞結構體參數、傳遞普通數組類型的例子,大家可以回看一下,這樣可以更好的理解本次要講的內容。
  • python數據科學系列:numpy入門詳細教程
    轉自:小數志pyth
  • Python學習第117課——numpy中dot的運用舉例
    【每天幾分鐘,從零入門python編程的世界!】上節我們學習了最基礎的matrix的運算,可能有小夥伴覺得這都要涉及高等數學知識了,確實如果你想做數據科學、做人工智慧,統計學、概率論等數學知識,尤其是算法是繞不過去的坎,但是不要怕!!!
  • numpy中的數據類型對象有哪些
    Numpy數據類型numpy是一個python擴展包,它可以為我們提供更精確的科學技術,更強大的數學能力。為此,numpy定義了比python更豐富的數據類型來達成目的。在numpy,core包的multiarray_umath.py模塊中,可以找到dtype類的定義。有興趣的同學可以嘗試閱讀一下其源碼。讀源碼其實是一種有效的學習編程的方式。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • Python學習第113課——numpy中用條件判斷去篩選數組中的元素
    【每天幾分鐘,從零入門python編程的世界!】之前我們學習了如何在numpy中查找數組元素的方法和技巧,現在我們學習如何用條件判斷的方式篩選數組的元素。●numpy中的數組可以直接進行比較直接上代碼:運行結果:我們看到,condition列印出來,它的結構和h的結構一樣。
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    作者除了對部分概念進行詳細推導之外,還添加了多個示例,並給出了 python/numpy 的實現代碼。符號表述:再給出 python/numpy 示例代碼:用 numpy 構建數組。對某些運算關係,作者給出了直觀可理解的圖示:單位圓和由矩陣 A 變換後的橢圓,其中的向量是 A 的兩個特徵向量。
  • 代碼詳解:Python虛擬環境的原理及使用
    (venv) % pip install numpy==1.15.3(venv) % pip listPackage Version --numpy 1.15.3pip 19.1.1setuptools 40.8.0現在可在腳本或活動的Python shell中導入numpy。
  • Python:一篇文章掌握Numpy的基本用法
    This could mean that an intermediate result is being cached.1000 loops, best of 3: 128 µs per loop從上面的運行結果可以看出,numpy的向量化運算的效率要遠遠高於python的循環遍歷運算(效率相差好幾百倍)。
  • Python中的Numpy基礎20問
    import numpy as np# 創建二維數組x2 = np.array([[1,2,3],[4,5,6]])# 將x2轉換為三維數組,並且自定義每個軸的元素數量x2.resize((1,2,3))x2'''輸出:array([[[1, 2, 3],[4, 5, 6]]])'''如何對數組進行索引和切片操作?numpy一維數組的索引和切片操作類似python列表,這裡不多講。