numpy 通用函式

2021-10-05 11:29:22 字數 3596 閱讀 5375

copy():陣列的複製

.astype():陣列型別轉換

陣列堆疊(引數使用元祖)

陣列拆分

陣列簡單運算

轉置,一維陣列轉置後結果不變,二維陣列的行列交換(2,5) → (5,2)

import numpy

ar = numpy.zeros((5

,2))

print

(ar)

print

(ar.t)

# 原陣列的行列和改變後的行列要保持一致,例如(0,10) = (5,2)

ar2 = numpy.arange(0,

10)print

(ar2)

print

(ar2.reshape(5,

2))# 用法1:直接將已有陣列改變形狀

# 用法2:生成陣列後直接改變形狀

print

(numpy.zeros((5

,6))

.reshape(10,

3))# 用法3:引數內新增陣列,然後修改目標形狀

print

(numpy.reshape(numpy.arange(0,

16),(

2,8)

))

# 用法一:返回具有指定形狀的新陣列,如元素不夠則重複填充所需數量的元素

print

(numpy.resize(numpy.arange(5)

,(3,

4)))

# 如果元素超出所需元素,則按所需元素為準

print

(numpy.resize(numpy.arange(15)

,(3,

4)))

ar = numpy.arange(0,

10)# 用法二:雖然輸出 none,但是直接修改了陣列本身

print

(ar.resize(2,

5))print

(ar)

注意:.t/.reshape()/.resize()都是生成新的陣列

# 賦值邏輯:指向記憶體中生成的乙個值 → 

# 這裡ar1和ar2指向同乙個值,所以ar1改變,ar2一起改變

import numpy

ar1 = numpy.arange(0,

10)ar2 = ar1

print

(ar2)

ar1[1]

=10print

(ar2)

# copy():生成陣列及其資料的完整拷貝,不受前陣列影響

ar3 = ar1.copy(

) ar1[1]

=20print

(ar2)

print

(ar3)

import numpy

ar1 = numpy.arange(0,

10,dtype =

float

)ar2 = ar1.astype(numpy.int64)

# 預設numpy.int為int32

print

(ar1,ar1.dtype)

print

(ar2,ar2.dtype)

# 注意:養成好習慣,陣列型別用numpy.int32,而不是直接int32

hstack():橫向連線,vstack():垂直連線

stack(array,axis):任意連線

import numpy

ar1 = numpy.arange(0,

5)ar2 = numpy.arange(5,

10)print

(numpy.hstack(

(ar1,ar2)))

# 橫向連線

ar3 = numpy.array([[

1],[

2],[

3]])

ar4 = numpy.array([[

"a"],[

"b"]])

print

(numpy.vstack(

(ar3,ar4)))

# 豎向連線

# 重點解釋axis引數的意思,假設兩個陣列[1 2 3]和[4 5 6],shape均為(3,0)

# axis=0:[[1 2 3] [4 5 6]],shape為(2,3)

# axis=1:[[1 4] [2 5] [3 6]],shape為(3,2)

ar5 = numpy.arange(1,

4)ar6 = numpy.arange(4,

7)print

(numpy.stack(

(ar5,ar6)

,axis =0)

)

hsplit():橫向拆分,vsplit():垂直拆分

import numpy

ar = numpy.arange(0,

16).reshape(4,

4)print

(ar)

# 將陣列水平(逐列)拆分為多個子陣列 → 按列拆分

print

(numpy.hsplit(ar,2)

)# 將陣列垂直(逐行)拆分為多個子陣列 → 按行拆分

print

(numpy.vsplit(ar,4)

)# 輸出結果為列表,列表中元素為陣列

import numpy

ar = numpy.arange(6)

.reshape(2,

3)print

(ar)

print

(ar +10)

# 加法

print

(ar *2)

# 乘法

print(1

/(ar+1)

)# 除法

print

(ar **2)

# 冪# 與標量的運算

print

(ar.mean())

# 求平均值

print

(ar.

max())

# 求最大值

print

(ar.

min())

# 求最小值

print

(ar.std())

# 求標準差

print

(ar.var())

# 求方差

# 求和,numpy.sum() → axis = 0:按列求和,axis = 1:按行求和

print

(ar.

sum(

), numpy.

sum(ar,axis =0)

)print

(numpy.sort(numpy.array([1

,4,3

,2,5

,6])

))# 排序

numpy 通用函式

導包import numpy as np ceil向上取整,floor向下取整,rint四捨五入,abs取絕對值,nevigate消極的,square平方,sqrt平方根,modf將小數部分和整數部分分開,isnan 查詢是否為空 arr1 np.random.uniform 5,10,3,4 pr...

numpy 通用函式

通用函式 能同時對陣列中所有元素進行運算的函式。常見的通用函式 一元函式 abs 絕對值 sqrt 開根號 exp,log,ceil,floor,rint rount,trunc,modf,isnan,isinf,cos,sin,tan 二元函式 add,substract,multiply,div...

numpy 通用函式

numpy為我們提供了一些列常用的數學函式,比如sin cos exp等等,這些被稱作 通用函式 ufunc 在numpy中,這些函式都是對陣列的每個元素進行計算,並將結果儲存在乙個新陣列中。b np.arange 3 b array 0,1,2 np.exp b array 1.2.7182818...