Numpy學習01 常數

2021-10-24 23:11:58 字數 4358 閱讀 1934

2、負無窮大

3、正負零

4、非數值

5、自然數e

6、圓周率π

7、伽馬常數γ

8、none(newaxis)

numpy包括幾個常量:

np.inf、np.ninf、np.pzero & np.nzero、np.nan、np.e、np.pi、np.euler_gamma、np.newaxis

numpy中正無窮大一共有五種表現形式:inf = inf = infty = infinity = pinf

numpy 使用ieee二進位制浮點演算法標準(ieee 754)

正無窮大不等於負無窮大。 但無窮大相當於正無窮大。

import numpy as np

print

(np.inf == np.inf)

print

(np.inf == np.infty)

print

(np.infty == np.infinity)

print

(np.infinity == np.pinf)

結果:

true

true

true

true

import numpy as np

print(np.ninf)

結果:

-inf

正負零被認為是有限數

import numpy as np

print(np.pzero)

print(np.nzero)

結果:

0.0

-0.0

非數值有三種表現形式:nan、nan、nan

not a number不等於無窮大。

import numpy as np

#兩個nan是不等的

print

(np.nan == np.nan)

print

(np.nan == np.nan)

print

(np.nan == np.nan)

結果:

false

false

false

表示兩個非數值是不相等的

import numpy as np

#比較不同的nan

print

(np.nan == np.nan)

print

(np.nan == np.nan)

print

(np.nan == np.nan)

結果:

false

false

false

表示不同形式的非數值常量不等

import numpy as np

#列印array

x = np.array(

[1.2,5

, np.nan ,

true

,false])

print

(x)#列印是否為nan

y = np.isnan(x)

print

(y)#數不是0的數量

print

(np.count_nonzero(y)

)#那麼可以用乙個函式計算array中nan的數量

defcountnan

(array)

:return np.count_nonzero(np.isnan(array)

)print

(countnan(x)

)z = np.array(

[nan,

5, nan , nan ,

false])

print

(countnan(z)

)

結果:

[1.2 5. nan 1. 0. ]

[false false true false false]11

3

這裡自定義了乙個countnan函式,先呼叫numpy的isnan方法,返回包含布林變數的ndarray,然後繼續使用numpy的count_nonzero方法,返回不是0(即false)的數量。

綜上,countnan函式返回的即是ndarray中nan的數量。

import numpy as np

print

(np.e)

結果:

)結果:

true

true

突發奇想,想看一下np.e和列印的浮點數是否相等,結果發現無論是小數點後15位和小數點後25位,均判斷相等,這裡先丟擲乙個疑問。

import numpy as np

print

(np.pi)

結果:

3.141592653589793

import numpy as np

print

(np.euler_gamma)

結果:

0.5772156649015329

numpy.newaxis從字面上來理解就是用來建立新軸的,或者說是用來對array進行維度擴充套件的。

import numpy as np

print

(none

== np.newaxis)

結果:

true

表示none和np.newaxis實際是乙個常量,axis有軸的意思,我們可以通過幾個例子看看為什麼在numpy中引入newaxis常數:

axis 英[ˈæksɪs] 美[ˈæksɪs]

n. 軸(旋轉物體假想的中心線); (尤指圖表中的) 固定參考軸線,座標軸; 對稱中心線(將物體平分為二);

>>

>

import numpy as np

>>

>x = np.array([1

,0,1

,9])

>>

>

print

(x.shape)

#表示x是一維的ndarray變數(4

,)>>

>x1 = x[np.newaxis,:]

>>

>

print

(x1)

>>

>

print

(x1.shape)

#表示x1是二維的ndarray變數 1*4[[

1019

]](1

,4)>>

>x2 = x[np.newaxis,:]

>>

>

print

(x2)

>>

>

print

(x2.shape)

>

#表示x2是二維的ndarray變數 4*1[[

1][0

][1]

[9]]

(4,1

)

到這裡我們可以清楚,np.newaxis的作用就是給ndarray增加維度,放在前面就是在前面新增維度(把之前的一維變數提煉成新的二維變數中),放在後面就是在後面新增維度(把之前的一維變數打散,充當二維變數中的一維變數)

Numpy 學習01 常量

注 文章 示例均匯入 import numpy as np numpy 庫 包括以下幾個常量 np.nan np.inf np.pi np.e 表示空值 np.nan np.nan np.nan 兩個np.nan不相等 例1 1 判斷兩個np.nan的關係 兩個np.nan 不相等 import n...

Numpy學習01 資料型別及陣列建立

兩個nan是不相等的,因為它們不等於任何值。import numpy as np print np.nan np.nan falsenumpy.isnan x,args,kwargs 判斷是否為空值。import numpy as np x np.array 1 1,8 np.nan,10 prin...

numpy學習(一) numpy基礎

此文為學習 理解numpy,numpy簡單入門教程整理的學習筆記 numpy是乙個功能強大的python庫,主要用於對多維陣列執行計算。numpy這個詞 於兩個單詞 numerical和python。a np.array 0,1,2,3,4 a np.array 0,1,2,3,4 1,2,3,4,...