天天看點

第90天:NumPy 位運算與算術函數

by 潮汐

今天的文章和大家聊聊 Python Numpy 位運算和算術函數,本文将分兩部分做較長的描述。

NumPy包中,可用位操作函數進行位運算,以 <code>bitwise_</code> 開頭的函數是位運算函數。

NumPy 位運算函數如下:

函數

描述

bitwise_and

對數組元素執行位與運算

bitwise_or

對數組元素執行位或運算

invert

按位取反(位非運算)

left_shift

向左移動二進制表示的位(左移位)

right_shift

向右移動二進制表示的位(右移位)

值得注意的是: 位運算同樣可以使用操作符進行計算,分别是使用 "&amp;"、 "~"、 "|" 和 "^" 等。

bitwise_and() 函數對數組中整數的二進制形式執行位與運算。

執行個體:

輸出結果:

位與運算規律如下:

A

B

AND

1

13 和 17 的位與運算規律運算如下:

是以 13 和 17 位與運算結果為 1

bitwise_or()函數對數組中整數的二進制形式執行位或運算。

輸出結果為:

位或運算規律如下:

OR

運算結果為:

最後的運算結果為:

<code>29</code>, 即數字 29 的二進制為 <code>11101</code>,正是以上執行個體或運算結果。

invert() 函數是對數值進行位非操作,位非即數值的取反操作。

invert() 函數對數組中整數進行位取反運算,即 0 變成 1,1 變成 0。

對于有符号整數,取該數二進制數的補碼,然後 +1;二進制數最高位為0表示正數,最高位為 1 表示負數。

left_shift() 函數将數組元素的二進制形式向左移動到指定位置,右側附加相等數量的 0。

right_shift() 函數将數組元素的二進制形式向右移動到指定位置,左側附加相等數量的 0。

Numpy 算術函數--&gt;算術函數顧名思義就是加、減、乘、除的意思,即add(),subtract(),multiply() 和 divide()等。

但值得注意的是數組必須具有相同的形狀或符合數組廣播規則。

NumPy 中涵蓋的算術運算通過下表展示,除了基本的算術運算函數外,下表中還列出對應的指數和對數函數,詳細資訊如下:

方法

add()

按元素添加參數

subtract()

從元素方面減去參數

multiply()

在元素方面乘以論證

divide()

以元素方式傳回輸入的真正除法

logaddexp()

輸入的取幂之和的對數

logaddexp2()

base-2中輸入的取幂之和的對數

true_divide()

floor_divide()

傳回小于或等于輸入除法的最大整數

negative()

數字否定, 元素方面

positive()

數字正面, 元素方面

power()

第一個數組元素從第二個數組提升到幂, 逐個元素

remainder()

傳回除法元素的餘數

mod()

fmod()

傳回除法的元素餘數

divmod()

同時傳回逐元素的商和餘數

absolute()

逐個元素地計算絕對值

fabs()

以元素方式計算絕對值

rint()

将數組的元素舍入為最接近的整數

sign()

傳回數字元号的元素訓示

heaviside()

計算Heaviside階躍函數

conj()

以元素方式傳回複共轭

conjugate()

exp()

計算輸入數組中所有元素的指數

exp2()

計算輸入數組中所有 p 的 2**p

log()

自然對數, 元素方面

log2()

x的基數為2的對數

log10()

以元素方式傳回輸入數組的基數10對數

expm1()

計算數組中的所有元素嗎,exp(x) - 1

log1p()

傳回一個加上輸入數組的自然對數, 逐個元素

sqrt()

以元素方式傳回數組的非負平方根

square()

傳回輸入的元素方塊

cbrt()

以元素方式傳回數組的立方根

reciprocal()

以元素方式傳回參數的倒數

gcd()

傳回最大公約數

lcm()

傳回 最小公倍數

add() 表示兩個數組相加,add() 函數使用方法如下:

<code>add(數組1,數組2,…)</code>

以上結果輸出為:

由上可得結論,數組之間的相加次元、資料類型必須一緻。

subtract()表示兩個數組相減,subtract() 函數使用方法如下:

<code>subtract(數組1,數組2,…)</code>

multiply() 表示兩個數組相乘,multiply() 函數使用方法:<code>multiply(數組1,數組2,…)</code>

divide() 表示兩個數組相除,divide() 使用方法為:<code>divide(數組1,數組2,…)</code>

輸出結果為:

log() 函數是取數的對數

numpy.power() 函數将第一個輸入數組中的元素作為底數,計算它與第二個輸入數組中相應元素的幂。

本章節是 NumPy 位運算和算術函數運用的基本介紹,這部分的知識執行個體都是從簡單入手,對于一個知識點,難的是綜合運用,隻有根基牢固才能造出大 House,希望對使用這部分知識的工程師提供更好的支撐。

https://www.runoob.com/numpy/numpy-arithmetic-operations.html

https://www.numpy.org.cn/reference/ufuncs.html

https://numpy.org/devdocs/reference/routines.math.html

文中示例代碼:python-100-days

關注公衆号:python技術,回複"python"一起學習交流

第90天:NumPy 位運算與算術函數

作者:純潔的微笑

出處:www.ityouknow.com

資源:微信搜【純潔的微笑】關注我,回複 【程式員】【面試】【架構師】有我準備的一線程式必備計算機書籍、大廠面試資料和免費電子書。 一共1024G的資料,希望可以幫助大家提升技術和能力。

本文如對您有幫助,還請多幫 【推薦】 下此文。

點我了解:Tooool-程式員一站式導航網站