05 numpy陣列高階操作

2022-05-20 13:08:13 字數 1600 閱讀 1597

import numpy as np

x=np.array([[1],[2],[3]])

y=np.array([4,5,6])

b=np.broadcast(x,y)#對y廣播x

#1.print(b.index)

print(b.__next__())#迴圈到下乙個(1, 4)

print(b.__next__())#迴圈到下乙個(1, 5)

print(b.__next__())#迴圈到下乙個(1, 6)

print(b.__next__())#迴圈到下乙個(2, 4)

print(b.__next__())#迴圈到下乙個(2, 5)

print(b.__next__())#迴圈到下乙個(2, 6)

print(b.__next__())#迴圈到下乙個(3, 4)

print(b.__next__())#迴圈到下乙個(3, 5)

print(b.__next__())#迴圈到下乙個(3, 6)

print(b.index)

c=np.empty(b.shape)#清空

print(b,"\n",c)

#2.print(c.shape)

c.flat=[u+v for (u,v) in b]#陣列的加法

print(c)

#3.d=np.arange(4).reshape(1,4)

print("\n\n",d)#[[0 1 2 3]]

print(np.broadcast_to(d,(4,4)))#列印4行[[0 1 2 3]]

#實現陣列的複製,要求列數相等

#4.增加維度

e=np.array(([1,2],[3,4]))#二維陣列

f=np.expand_dims(x,axis=0)#擴充成三維陣列

g=np.expand_dims(x,axis=1)#插入位置不一樣

#5.刪除維度

h=np.arange(27).reshape(1,3,9)#三維

j=np.squeeze(h)#外層只有乙個元素,可以刪除乙個維度

#6.拼接

a=np.array([[1,2],[3,4]])

b=np.array([[5,6],[7,8]])

print(np.concatenate((a,b)))#拼接,按列

print(np.hstack((a,b)))

print(np.concatenate((a,b),axis=1))#拼接,按行

print(np.vstack((a,b)))

print(np.stack((a,b),0))#拼成三維陣列,按列

print(np.stack((a,b),1))#按行

#7.切割

a=np.arange(100)

b=np.split(a,10)#切割成是10陣列

c=np.split(a,[30,60,80])#切割三刀,留下四個陣列

d=np.arange(100).reshape(10,10)

e=np.hsplit(a,5)#列切割成5份

f=np.vsplit(a,5)#行切割成5份,切割時候必須整除

05 numpy 基本操作

姓名 成績 語文數學 英語物理 tom90 100110 89ali 80100 3399 li89 9933 93stu info np.array 90,100,110,89 80,100,33,99 89,99,33,93 stu info 1 array 80,100,33,99 stu i...

NumPy陣列的高階操作(二)

r星校長 第2關 比較 掩碼和布林邏輯 比較 在許多情況下,資料集可能不完整或因無效資料的存在而受到汙染。我們要基於某些準則來抽取 修改 計數或對乙個陣列中的值進行其他操作時,就需要掩碼了。接下來將學習如何用布林掩碼來檢視和運算元組中的值。和算術運算子一樣,比較運算子在numpy中也是通過通用函式來...

NumPy陣列的高階操作(五)

r星校長 第5關 線性代數 numpy的線性代數 線性代數 如矩陣乘法 矩陣分解 行列式以及其他方陣數學等 是任何陣列庫的重要組成部分,一般我們使用 對兩個二維陣列相乘得到的是乙個元素級的積,而不是乙個矩陣點積。因此numpy提供了線性代數函式庫linalg,該庫包含了線性代數所需的所有功能。常用的...