為什麼要有numpy陣列?
假若我們要使得列表種的每乙個元素都增加1,直接增加列表並不支援 如
a=[1,2,3,4]
a=a+1
會出現如下錯誤:
可以使用列表生成式完成操作
a=[1,2,3,4]
[x+1 for x in a]
列表也不支援兩個列表對應元素相加,如:
a=[1,2,3,4]
b=[2,3,4,5]
a=a+b
a
結果如下:
同理可以使用列表生成式:
[x+y for (x,y) in zip(a,b)]
但是這樣操作會比較麻煩,而且當資料量很大的時候會非常消耗時間。
如果我們使用numpy,就會變得非常的簡單
如:a=np.array([1,2,3,4])
a=a+1
結果如下:
還有對應陣列相加:
a=np.array([1,2,3,4])
b=np.array([2,3,4,5])
a=a+b
結果如下:
是不是方便很多
產生陣列的方法
1.可以從列表產生陣列:
a=[1,2,3,4]
b=np.array(a)
2.從列表傳入:
b=np.array([1,23,4])
3.生成全0陣列:
b=np.zeros(10) #10代表生成0的個數
強調一點,陣列和列表不一樣的地方,陣列要求陣列型別都是一樣的,
轉換資料型別
b.astype('int')
還可以使用一些特定的方法生成特殊的陣列
生成整形陣列
a=np.arange(1,10,5) #表示1到10的數(不包括10),差距為5
生成等差陣列
b=np.linspace(1,10,10) #表示1到10的數,等差分成10個
生成隨機數組生成隨機整形陣列
b=np.random.randint(1,10,10) #隨機生成1到10(不包括10)的10個隨機整數
生成隨機浮點型陣列
b=np.random.rand(10) #0到不包括1的隨機浮點數
生成服從標準正態分佈的隨機數
b=np.random .randn(10)
檢視陣列儲存的資料型別
a.dtype
檢視陣列的形狀
a.shape
檢視陣列的維數
a.ndim
檢視陣列的大小
a.size
NumPy 建立陣列
ndarray 陣列除了可以使用底層 ndarray 構造器來建立外,也可以通過以下幾種方式來建立。numpy.empty 方法用來建立乙個指定形狀 shape 資料型別 dtype 且未初始化的陣列 numpy.empty shape,dtype float,order c 引數說明 引數描述 s...
numpy建立陣列
numpy.empty 建立指定形狀 資料型別且未初始化的陣列 numpy.empty shape,dtype float,order c numpy.zeros 建立指定大小的全0陣列numpy.zeros shape,dtype float order c numpy.ones 建立指定大小的全...
NumPy 陣列建立
要建立ndarray陣列物件,除了使用底層的ndarray建構函式 ndarray.array 還可以使用下面介紹的函式。empty函式建立未初始化陣列,可以指定陣列形狀和資料型別。語法如下所示 numpy.empty shape,dtype float order c 引數 示例 import n...