day1 2 Numpy陣列相關操作

2022-07-10 09:42:15 字數 4628 閱讀 7643

import numpy as np

array = [1,2,3,4,5] #定義陣列

array

[1, 2, 3, 4, 5]

array1=np.array([1,2,3,4,5,6])

type(array1) #獲取資料型別

numpy.ndarray

num1=1

type(num1)

int

array1.dtype #獲取陣列元素的資料型別

dtype('int32')

array1.itemsize #獲取數元素組位元組數

4

array1.shape

(6,)

array1.size #陣列大小

6

np.shape(array1)

(6,)

array1.ndim #陣列維度

1

array1.fill(0) #將陣列所有元素初始化為0

print(array1)

[0 0 0 0 0 0]

array1[0]

0

array1=[1,2,3,4,5]

array1[1:3] #從下標1開始取資料,取到下標3

[2, 3]

array1[-4:] #從倒數第四個開始取 ,取到最後乙個

[2, 3, 4, 5]

array2=np.array([[[1,2,3],[11,55,66]],[[100,102,103],[111,155,166]]])

array2.shape

(2, 2, 3)

array2.size #2*2*3

12

array2.ndim

3

print(array2[1,1,1])

155

array2[1,1,1]=156

array2

array([[[  1,   2,   3],

[ 11, 55, 66]],

[[100, 102, 103],

[111, 156, 166]]])

array2[:,1,1] #取第一維度所有,取第二維度下標為1的資料,取第三維度下標為1的資料

array([ 55, 156])

array2[:,:,0] #取第一維度所有,取第二維度所有,取第三維度第0元素

array([[  1,  11],

[100, 111]])

array3=array2.copy() #將array2陣列複製到array3中

print(array3)

[[[  1   2   3]

[ 11 55 66]]

[[100 102 103]

[111 156 166]]]

array2[0,0,0]=10086 #修改array2中資料,不會對array3中資料造成影響

print(array2,'\n#############################################\n',array3)

[[[10086     2     3]

[ 11 55 66]]

[[ 100 102 103]

[ 111 156 166]]]

#############################################

[[[ 1 2 3]

[ 11 55 66]]

[[100 102 103]

[111 156 166]]]

array4=np.arange(0,10,1) #取0-10之間不包過10 1為步長的資料

print(array4)

[0 1 2 3 4 5 6 7 8 9]

mask=np.array([1,1,1,0,0,0,0,0,0,0],dtype=bool) #陣列由布林型別的元素組成,預設將int型別轉換為布林型別

print(mask)

[ true  true  true false false false false false false false]

array4[mask] #獲取array4中 與mask為true的資料,資料必須一一對應

array([0, 1, 2])

randomarray=np.random.rand(10) #取隨機數10個

print(randomarray)

[0.50319703 0.33021724 0.46541281 0.36555992 0.39384576 0.20101006

0.38995084 0.60360763 0.28220682 0.14589713]

mask=randomarray>0.5

mask

array([ true, false, false, false, false, false, false,  true, false,

false])

randomarray[mask] #列印大於0.5的資料

array([0.50319703, 0.60360763])

array1=array1+8

typeerror traceback (most recent call last)

in ----> 1array1=array1+8

typeerror: can only concatenate list (not "int") to list

array1=np.array(array1)

array1

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

np.where(array1>11) #取陣列中大於11的元素位置

(array(, dtype=int64),)

array5=np.array([1,2,3,4,5],dtype=np.float) #將陣列轉換為numpy.float型別

print(array5)

array5.dtype

print(array5.nbytes)

[1. 2. 3. 4. 5.]

40

print(array6)

array6.dtype

print(array6.nbytes)

array6

40out[54]:

array6*2 #全元素*2

array7=np.array([1,2,3,4,5]) 

array8=np.asarray(array7,dtype=np.float)

array8

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

array9=array7.astype(np.float) #將array7中的資料型別轉換為float型別

array9

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

day1 5 Numpy陣列形狀

import numpy as np array1 np.arange 10 array1 array 0,1,2,3,4,5,6,7,8,9 array1.shape 10,array1.shape 2,5 將array1分成2維陣列 array1 array 0,1,2,3,4 5,6,7,8,...

物件 物件陣列 JSON JSON陣列的相關操作

在資料傳輸流程中,json是以文字,即字串的形式傳遞的,而js操作的是json物件,所以,json物件和json字串之間的相互轉換是關鍵。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 物件字量量格式 varobj json物件格式 varjson json字串 varjso...

物件 物件陣列 JSON JSON陣列的相關操作

在資料傳輸流程中,json是以文字,即字串的形式傳遞的,而js操作的是json物件,所以,json物件和json字串之間的相互轉換是關鍵。物件字量量格式 var obj json物件格式 var json json字串 var json string 測試 document.write json s...