1. 程式人生 > 其它 >numpy基礎— 建立陣列

numpy基礎— 建立陣列

技術標籤:pythonnumpy

建立陣列的方法

import numpy as np

a = np.array(range(10))
b = np.array([1,2,3,5])
c = np.arange(1,6)

print(a)
print(b)
print(c)
print(a.dtype)  #求資料型別
[0 1 2 3 4 5 6 7 8 9]
[1 2 3 5]
[1 2 3 4 5]
int32

以上三種方法結果是一樣的,注意一下輸入結果是陣列。

array的屬性:
• shape:返回一個元組,表示 array的維度 [形狀,幾行幾列] (2,3)兩行三列,(2,2,3)兩個兩行三列

• ndim:返回一個數字,表示array的維度的數目
• size:返回一個數字,表示array中所有資料元素的數目
• dtype:返回array中元素的資料型別

import numpy as np
a = np.array(range(10)).reshape(2,5)

print(a)
print(a.shape)
[[0 1 2 3 4]
 [5 6 7 8 9]]
(2, 5)   #兩行五列

arange 建立數字序列

使用arange建立數字序列:
np.arange([開始,]結束[,步長],dtype=None)
dtype= ’ ’ 可以更改陣列的資料型別

import
numpy as np a = np.arange(5) b = np.arange(1,10,2) print(a) print(b)
[0 1 2 3 4]
[1 3 5 7 9]

使用ones建立全是1的陣列

語法:np.ones(shape,dtype=None,order=‘C’)

import numpy as np
a = np.ones(3)
b = np.ones((2,3))
print(a)
print('-'*30)
print(b)
[1. 1. 1.]
------------------------------
[[1. 1. 1.]
 [1. 1. 1.]]

在這裡插入圖片描述

ones_like建立形狀相同的陣列

語法:np.ones_like(a,dtype=float,order=‘C’,subok=True)
與a相同形狀和資料型別的陣列,並且陣列中的值都為1

import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.ones_like(a)
print(b)
[[1 1 1]
 [1 1 1]]

zeros 建立全是0的陣列

import numpy as np
a = np.zeros([3,4])
print(a)
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

zeros_like建立形狀相同的陣列

import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.zeros_like(a)
print(b)
[[0 0 0]
 [0 0 0]]

full建立指定值的陣列

import numpy as np
a = np.full(3,99)
b = np.full((3,2),99)

print(a)
print(b)
[99 99 99]
[[99 99]
 [99 99]
 [99 99]]

full_like建立開關相同的指定值陣列

import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.full_like(a,99)
print(b)
[[99 99 99]
 [99 99 99]]

使用random模組生成隨機陣列

語法:np.random.randn(d0,d1,……,dn)
傳1個數就是一維,2個數就是二維,n個數就是n維
例如:

a = np.random.randn() # 一個隨機數
b = np.random.randn(3) # 3個數
c = np.random.randn(3,2) # 3行2列
d = np.random.randn(3,2,4) # 3塊,每塊是2行4列

需要四捨五入:

np.round(a,2) # 變數a,保留兩位小數點
import numpy as np
a = np.random.randn(3,2)
b = np.round(a,2)
print(b)
[[-0.    0.66]
 [ 1.46  0.38]
 [-2.    0.66]]