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) #將陣列所有元素初始化為0print(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.201010060.38995084 0.60360763 0.28220682 0.14589713]
mask=randomarray>0.5mask
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...