創(chuàng)建Numpy數(shù)組的 “7種” 方法,最全,必看,速看!
1. 本文介紹
Ⅰ 創(chuàng)建數(shù)組的7種方法; Ⅱ ndarray數(shù)組,常用屬性介紹;

2. 創(chuàng)建數(shù)組的8種方法
① 利用array()函數(shù)創(chuàng)建數(shù)組
array1 = [1,2,3]
m = np.array(array1)
print(m)
array2 = [[1,2,3],[4,5,6]]
n = np.array(array2)
print(n)

② 利用arange()和linspace()函數(shù)創(chuàng)建 “等差數(shù)列” 數(shù)組
np.arange(start,end,step):start和end表示起始位置,step表示步長(zhǎng),用于創(chuàng)建表示等差數(shù)列的一維數(shù)組,注意得到的結(jié)果數(shù)組不包含終值; np.linspace(start,end,num):start和end表示起始位置,num表示個(gè)數(shù),用于創(chuàng)建表示等差數(shù)列的一維數(shù)組,可以通過endpoint參數(shù)指定是否包含終值,默認(rèn)值為True,即包含終值;
array1 = np.arange(1,10)
print(array1)
array2 = np.arange(1,10,2)
print(array2)

endpoint=True表示是包含終止值(默認(rèn)),endpoint=False表示不包含終止值; dtype=np.float64指定創(chuàng)建的數(shù)組的數(shù)據(jù)類型默認(rèn)是float64,你也可以設(shè)置為dtype=np.np.int32;
array3 = np.linspace(1,20,num=5,endpoint=False,dtype=np.float64)
print(array3)
array4 = np.linspace(1,20,num=5,endpoint=False,dtype=np.int32)
print(array4)
array5 = np.linspace(1,20,num=5,endpoint=True,dtype=np.float64)
print(array5)
array6 = np.linspace(1,20,num=5,endpoint=True,dtype=np.int32)
print(array6)

③ 創(chuàng)建 “指定數(shù)值填充” 的數(shù)組
np.zeros((x,y)):生成一個(gè)x行y列的,元素都是0的二維數(shù)組; np.ones((x,y)):生成一個(gè)x行y列的,元素都是1的二維數(shù)組; np.full((x,y),value):生成一個(gè)x行y列的,元素都是value的二維數(shù)組,其中這個(gè)value值可以是整數(shù)(正整數(shù),0,負(fù)整數(shù))或者小數(shù);
array1 = np.zeros((3,4))
print(array1)
array2 = np.ones((3,4))
print(array2)
array3 = np.full((3,4),1.2)
print(array3)


④ 復(fù)制已有數(shù)組,創(chuàng)建指定數(shù)值的數(shù)組
np.zeros_like():復(fù)制已有數(shù)組形狀,創(chuàng)建一個(gè)全0數(shù)組; np.ones_like():復(fù)制已有數(shù)組形狀,創(chuàng)建一個(gè)全1數(shù)組; np.full_like():復(fù)制已有數(shù)組形狀,創(chuàng)建一個(gè)指定數(shù)值的數(shù)組;
n1 = np.array([1,2,3]);
n2 = np.array([[1,2,3],[4,5,6]])
print(n1)
print(n2)

np.zeros_like(n1)
np.ones_like(n2)
np.full_like(n1,8)

⑤ 創(chuàng)建 “單位矩陣” 和 “對(duì)角矩陣”
array1 = np.eye(3)
print(array1)
array2 = np.identity(4)
print(array2)

array3 = np.diag([10,20,30])
print(array3)

⑥ 利用logspace()函數(shù)創(chuàng)建 “等比數(shù)列” 數(shù)組
np.logspace(start, stop, num=50, endpoint=True, base=, dtype=None) start和stop表示指數(shù)次冪,base表示底數(shù),也就是公比; endpoint=True表示是包含終止值(默認(rèn)),endpoint=False表示不包含終止值;
array1 = np.logspace(1, 7, num=4, endpoint=True, base=2)
print(array1)

⑦ 通過 “自定義函數(shù)” 創(chuàng)建數(shù)組
# 定義一個(gè)函數(shù)
def f(x, y):
return x * 2 + 1 + y
# 從一個(gè)函數(shù)生成一個(gè)二維數(shù)組;
b = np.fromfunction(f, (3,3), dtype=np.int32)
print(b)

3. 常用屬性介紹
x = np.array([[1,2,3],[4,5,6]])
print(x)
x.shape # 數(shù)組形狀
x.size # 數(shù)組中元素個(gè)數(shù)
x.dtype # 數(shù)組中元素?cái)?shù)據(jù)類型
x.ndim # 數(shù)組的維度

評(píng)論
圖片
表情
