Numpy基礎

Numpy 基礎數組

注:如下代碼中np爲numpy庫的簡寫函數

1、建立arrayspa

 

# create array with datetype int16
a = np.array([[1,2,3],[2,4,6]], dtype=np.int16)
# all zeros array
b=np.zeros((2,2),dtype=int)
#all ones array
c=np.ones((3,4), dtype=np.int)
#numpy range1~10之間,公差爲1的等差數列
d=np.arange(1,10,1)
#生成[0,4)之間步長爲1的等差數列
e=np.arange(0,4, 2)
#linespace 生成1~10之間只有2個數的等差數列
f=np.linspace(1,10,2,dtype=np.int)
#輸出結果
print('數組 a:', a)
print('全0數組b:', b)
print('全1數組c:', c)
print('[1,10) 步長爲1的等差數列 d:', d)
print('[0,4)步長爲2的等差數列 e:', e)
print('[1,10) 等分爲5份的數列 f', f)

 

終端結果code

2、運算blog

 

#四則運算
a=np.array([2,4,6])
b=np.arange(1,4)
c=a+b
d=a-b
e=a*b
f=a/b
print('a:', a)
print('b:', b)
print('加法 c:', c)
print('減法 d:', d)
print('乘法 e:', e)
print('除法 f:', f)
#<, >, ==邏輯運算
g=a>2
h=a<6
j=a==4
print('大於 g:', g)
print('小於 h:', h)
print('等於 j:', j)
#指數運算、三角函數
k=a**2
l=np.sin(a)
print('平方 k:', k)
print('正弦 l:', l)
#矩陣乘法
m=np.transpose(np.array([1,1,1]))#矩陣轉置
n=np.dot(a,m)#矩陣乘法
print('矩陣乘法 n:', n)

 

輸出結果:索引

3、統計運算it

 

#求和,最小值,最大值
a=np.arange(12).reshape((3,4))
print('a:', a)
print('全部元素之和:', np.sum(a))#行向求和
print('每行元素之和:', np.sum(a, axis=1))#行向求和
print('最小值:', np.min(a))#求最小值
print('每行最小值:', np.min(a, axis=1))#行向求最小值
print('最大值:', np.max(a))#求最大值
print('每行最大值:', np.max(a, axis=1))#行向求最大值
print('最小值索引', np.argmin(a))
print('最大值索引', np.argmax(a))
#平均值、中位數
print('平均值', np.mean(a))
print('每一行的平均值', np.mean(a, axis=1))
print('中位數', np.median(a))
print('每一列的中位數', np.median(a, axis=0))
#非0元素的索引
print('大於6的元素: ', a>6)
mask=np.nonzero(a>6)
print('非0元素所在的行: ', mask[0])
print('非0元素所在的列: ', mask[1])

 

終端輸出:class

 4、array取值基礎

# array 取值
a=np.arange(2,14).reshape((3,4))
print('a: ', a)
print('取索引爲1的行:', a[1, :])
print('取第1行,列數範圍爲[0,2)的值:', a[1,0:2])
print('取索引爲2的列:', a[:,2])
print('取索引爲[1,2]的元素:', a[1,2])
print('矩陣flatten:', a.flatten())

 4、array合併date

#array合併
a=np.ones((1, 3))
b=np.zeros((1,3))
print('a: ', a,'shape :', a.shape)
print('b: ', b)
print('a,b列向合併:', np.vstack((a,b)))
print('a,b行向合併:', np.hstack((a,b)))
print('a,a,b,b 列向合併:', np.concatenate((a,a,b,b), axis=0))
#矩陣拓維
c=np.arange(3)
print('c', c, '原來的shape :', c.shape)
print(c[:,np.newaxis], 'shape: ', c[:,np.newaxis].shape)

5、array分割

 

#array分割
a=np.arange(12).reshape((3,4))
print('a: ', a)
print('將a按列等分爲兩部分', np.split(a,2,axis=1))
print('將a按列分爲三部分', np.array_split(a,3,axis=1))
print('將a按行等分爲三部分', np.split(a,3,axis=0))

 

相關文章
相關標籤/搜索