Numpy如何建立陣列以及陣列的屬性

2021-09-24 10:12:51 字數 2050 閱讀 4025

為什麼要有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...