NumPy基礎(chǔ)教程:http://www.reibang.com/p/45417c05574c
ndarray數(shù)組
導(dǎo)入函數(shù)統(tǒng)一使用:import numpy as np
創(chuàng)建數(shù)組
從已有類型創(chuàng)建 ndarray 數(shù)組
import numpy as np
ls1 = [1,4,9,16]
x = np.array(ls1)
print(x)
print(type(x))
用 PyCharm 展示結(jié)果捉蚤,下同
嵌套列表轉(zhuǎn)為多維ndarray數(shù)組窟勃,嵌套列表元素?cái)?shù)不一樣的話程剥,轉(zhuǎn)換數(shù)組的時(shí)候要加dtype=object,不然會(huì)報(bào)警告
import numpy as np
ls2 = [[1,4,9,16],[0,1,-1,2]]
x = np.array(ls2)
print(x)
print(type(x))
ls3 = [[1,4,9,16],[0,1,-1]]
y = np.array(ls3,dtype=object)
print(y)
print(type(y))
使用 NumPy 創(chuàng)建 ndarray 數(shù)組
函數(shù) | 說(shuō)明 |
---|---|
np.arange(n) | 類似 range() 函數(shù)泥彤,返回 ndarray 類型,元素從 0 到 n-1 |
np.ones(shape) | 根據(jù) shape 生成一個(gè)全 1 數(shù)組,shape 是元組類型 |
np.zeros(shape) | 根據(jù) shape 生成一個(gè)全 0 數(shù)組柴罐,shape 是元組類型 |
np.eye(n) | 創(chuàng)建一個(gè)正方的 n*n 單位矩陣,對(duì)角線是 1憨奸,其余為 0 |
np.linspace() | 根據(jù)起止數(shù)據(jù)等間距的填充數(shù)據(jù)革屠,形成數(shù)組 |
- arange()
用法:np.arange(start, stop, step, dtype=None)
start:起始點(diǎn),可選項(xiàng)排宰,默認(rèn)為0
stop:結(jié)束點(diǎn)
step:步長(zhǎng)似芝,默認(rèn)為1,當(dāng)指定step時(shí)板甘,必須給出start
dtype:數(shù)組的類型党瓮,未指定的話自行根據(jù)輸入?yún)?shù)推斷
import numpy as np
x = np.arange(3)
print(x)
x1 = np.arange(1,5,2)
print(x1)
- ones(),zeros()盐类,eye()
ones() 和 zeros() 使用方式相同寞奸,根據(jù)設(shè)置的行列參數(shù)生成數(shù)組,eye() 根據(jù)設(shè)置的單位矩陣大小生成數(shù)組
import numpy as np
x = np.ones(4,dtype=int) # 一維數(shù)組
x1 = np.ones((2,2)) # 二維數(shù)組
print(x)
print(x1)
x2 = np.eye(3)
print(x2)
- linspace()
用法:np.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None)
start:起始點(diǎn)
stop:結(jié)束點(diǎn)在跳,與 endpoint 參數(shù)有關(guān)枪萄,endpoint 為 True 時(shí),包含 stop 的值硬毕,endpoint 為 False 時(shí)則不含
num:生成樣本數(shù)量呻引,非負(fù)整數(shù),可選
endpoint:設(shè)置是否包含 stop吐咳,默認(rèn)為 True
retstep:顯示數(shù)組形成元素之間的步長(zhǎng)
dtype:數(shù)據(jù)類型
import numpy as np
x = np.linspace(1, 10, num = 5)
print(x)
x1 = np.linspace(1, 10, num = 5, endpoint = True)
x2 = np.linspace(1, 10, num = 5, endpoint = False)
print(x1)
print(x2)
x3 = np.linspace(1, 10, num = 5, retstep = True)
x4 = np.linspace(1, 10, num = 5, retstep = False)
print(x3)
print(x4)
隨機(jī)數(shù)生成
使用numpy產(chǎn)生隨機(jī)數(shù):https://www.cnblogs.com/sench/p/9683905.html
函數(shù) | 說(shuō)明 |
---|---|
rand() | 返回指定形狀的數(shù)組逻悠,數(shù)組中的值服從 [0,1) 之間的均勻分布 |
uniform() | 返回在給定區(qū)間內(nèi)產(chǎn)生均勻分布的數(shù)組 |
randn() | 返回指定形狀的數(shù)組元践,數(shù)組中的值服從標(biāo)準(zhǔn)正態(tài)分布 |
normal() | 返回一個(gè)由 size 指定形狀的數(shù)組,數(shù)組中的值服從 μ=loc童谒,σ=scale 的正態(tài)分布单旁。 |
randint() | 返回給定區(qū)間內(nèi)離散均勻抽樣的數(shù)組 |
random() | 返回從 [0, 1) 之間均勻抽樣的數(shù)組 |
- np.random.rand()
如果沒(méi)有參數(shù)則返回一個(gè) float 型的隨機(jī)數(shù),該隨機(jī)數(shù)服從 [0, 1) 之間的均勻分布
import numpy as np
x1 = np.random.rand(3,2)
x2 = np.random.rand()
print(x1)
print(x2)
- np.random.uniform(low, high, size = None)
不提供 size饥伊,則返回一個(gè)該分布的隨機(jī)數(shù)
import numpy as np
x1 = np.random.uniform(1,3,(2,3))
x2 = np.random.uniform(1,3)
print(x1)
print(x2)
- np.random.randn()
import numpy as np
x1 = np.random.randn(3,2)
x2 = np.random.randn()
print(x1)
print(x2)
- np.random.normal(loc, scale, size = None)
loc:浮點(diǎn)數(shù)類型象浑,指定均值 μ
scale:浮點(diǎn)數(shù)類型,指定標(biāo)準(zhǔn)差 σ
size:整數(shù)元組指定數(shù)組的形狀琅豆,不提供 size 且 loc 和 scale 為標(biāo)量愉豺,則返回一個(gè)服從該分布的隨機(jī)數(shù)。
import numpy as np
x1 = np.random.normal(1,3,(3,2))
x2 = np.random.normal(1,3)
print(x1)
print(x2)
- np.random.randint(low, high, size, dtype)
low, high:int 型茫因,指定抽樣區(qū)間
size:int 型元組蚪拦,指定形狀。不提供 size 則返回一個(gè)服從該分布的 int 型隨機(jī)函數(shù)
dtype:可選參數(shù)冻押,指定數(shù)據(jù)類型驰贷,默認(rèn)是 int 型
import numpy as np
x1 = np.random.randint(1,5,(3,2))
x2 = np.random.randint(1,5)
print(x1)
type(x1)
print(x2)
- np.random.random(size)
size:int 型的元組,不提供則返回一個(gè)服從該分布的隨機(jī)數(shù)
import numpy as np
x1 = np.random.random((3,2))
x2 = np.random.random()
print(x1)
print(x2)
數(shù)組對(duì)象的屬性
屬性 | 說(shuō)明 |
---|---|
ndim | 秩洛巢,即軸的數(shù)量或維度的數(shù)量 |
shape | ndarray 對(duì)象的尺度括袒,對(duì)于矩陣,n 行 m 列 |
size | ndarray 對(duì)象元素的個(gè)數(shù)稿茉,相當(dāng)于 shape 中 n*m 的值 |
dtype | ndarray 對(duì)象的元素類型 |
itemsize | ndarray 對(duì)象中每個(gè)元素的大小锹锰,以字節(jié)為單位 |
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2)) # reshape 更改數(shù)組的形狀
print(x)
print(x.ndim)
print(x.shape)
print(x.size)
print(x.dtype)
print(x.itemsize)
數(shù)組的類名和類型
類型 | 說(shuō)明 |
---|---|
int8、uint8 | 有符號(hào)和無(wú)符號(hào)的 8 位(1 個(gè)字節(jié))整型 |
int16狈邑、uint16 | 有符號(hào)和無(wú)符號(hào)的 16 位(2 個(gè)字節(jié))整型 |
int32城须、uint32 | 有符號(hào)和無(wú)符號(hào)的 32 位(4 個(gè)字節(jié))整型 |
int64、uint64 | 有符號(hào)和無(wú)符號(hào)的 64 位(8 個(gè)字節(jié))整型 |
float16 | 半精度浮點(diǎn)數(shù) |
float32 | 標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù) |
float64 | 標(biāo)準(zhǔn)的雙精度浮點(diǎn)數(shù) |
float128 | 擴(kuò)展精度浮點(diǎn)數(shù) |
complex64米苹、complex128、complex256 | 分別用兩個(gè) 32 位砰琢、64 位或 128 位浮點(diǎn)數(shù)表示的復(fù)數(shù) |
bool | 存儲(chǔ) True 和 False 值的布爾類型 |
import numpy as np
x = np.array(np.random.random((3,2)),dtype=float) # 指定生成數(shù)組類型為浮點(diǎn)數(shù)
print(x)
print(x.dtype)
x1 = np.round(x,2) # 修改浮點(diǎn)數(shù)的小數(shù)位數(shù)蘸嘶,保留 2 位
print(x1)
print(x1.dtype)
x2 = x.astype(np.int32) # 更改數(shù)組的數(shù)據(jù)類型
print(x2)
print(x2.dtype)
軸(axis)
一維數(shù)組只有一個(gè) 0 軸
二維數(shù)組 (shape(2, 2)) 有 0 軸和 1 軸,每行為 1 軸陪汽,每列為 0 軸
三維數(shù)組 (shape(2, 2, 3)) 有 0 軸训唱,1 軸和 2 軸,行為 2 軸挚冤,列為 1 軸况增,不同數(shù)組之間為 0 軸。類似空間坐標(biāo)训挡,x 軸為 2 軸澳骤,y 軸為 1 軸歧强,z 軸為 0 軸
- 二維數(shù)組的軸
- 三維數(shù)組的軸
import numpy as np
x = np.arange(1,7,1).reshape((2,3))
print(x)
print(x.shape[0]) # 返回行數(shù),即有幾行
print(x.shape[1]) # 返回列數(shù)为肮,即每行有幾個(gè)元素
x1 = np.arange(1,25,1).reshape(2,3,4)
print(x1)
print(x1.shape[0]) # 返回有幾個(gè)數(shù)組
print(x1.shape[1]) # 返回行數(shù)摊册,即有幾行
print(x1.shape[2]) # 返回列數(shù),即每行有幾個(gè)元素
轉(zhuǎn)置
- 二維數(shù)組
transpose 變換軸颊艳,與參數(shù)的位置有關(guān)茅特;swapaxes 也是變換軸,與參數(shù)的位置無(wú)關(guān)但是必須有參數(shù)棋枕,不能省略白修。x.transpose() 和 x.T 只適用于二維數(shù)組
import numpy as np
x = np.arange(1,7,1).reshape((2,3))
print(x, end = '\n\n')
print(x.transpose((1,0)), end = '\n\n') # 跟 x.transpose() 和 x.T 一個(gè)結(jié)果
print(x.transpose((0,1)), end = '\n\n') # 未轉(zhuǎn)置
print(x.swapaxes(0,1), end = '\n\n')
print(x.swapaxes(1,0), end = '\n\n')
- 三維數(shù)組
transpose 變換軸,與參數(shù)的位置有關(guān)重斑。三維數(shù)組使用 transpose 函數(shù)必須指定三個(gè)軸的參數(shù)兵睛;swapaxes變換軸,指定轉(zhuǎn)換參數(shù)兩個(gè)軸的元素绸狐。
import numpy as np
x = np.arange(1,28,1).reshape((3,3,3))
print(x.transpose((0,1,2)))
print(x.transpose((1,0,2)))
print(x.transpose((1,2,0)))
print(x.swapaxes(0,1))
三維數(shù)組類似空間坐標(biāo)卤恳,從 0 開始記第一位,numpy三維數(shù)組先記 z 軸寒矿,再記 y 軸突琳,最后記 x軸,即 (z, y, x) → (0軸, 1軸, 2軸)
每個(gè)人對(duì)空間坐標(biāo)的 x符相,y拆融,z 有不同的理解方法,這里以空格間隔的各個(gè)數(shù)組記為單個(gè)數(shù)組啊终,單個(gè)數(shù)組的行為 x 軸即 2 軸镜豹,單個(gè)數(shù)組的列為 y 軸即 1 軸,不同數(shù)組組成 z 軸即 0 軸
如下圖蓝牲,以元素 6 為例趟脂,x.transpose ((0,1,2)) 與最初生成的 x 數(shù)組順序一致,6 在第 1 個(gè)數(shù)組第二行的第三個(gè)元素例衍,即坐標(biāo)為 (0,1,2)昔期;
x.transpose((1,0,2)) 將 x 數(shù)組的 1 軸和 0 軸的轉(zhuǎn)換,即將 1 軸和 0 軸的坐標(biāo)轉(zhuǎn)換佛玄,6 的坐標(biāo)轉(zhuǎn)換為(1,0,2)
x.transpose((1,2,0)) 將 x 數(shù)組的原 1 軸的坐標(biāo)放到 z 軸硼一,2 軸的坐標(biāo)放到 y 軸,0 軸的坐標(biāo)放到 x 軸梦抢,即 6 的坐標(biāo)轉(zhuǎn)換為 (1,2,0)
數(shù)組轉(zhuǎn)換
- 將數(shù)組轉(zhuǎn)化為一維數(shù)組
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2))
print(x)
x1 = x.reshape(4)
print(x1)
x2 = x.flatten() # 將數(shù)組展開
print(x2)
- 數(shù)組向列表的轉(zhuǎn)換
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2))
print(x)
x1 = x.reshape(4)
print(x1)
x2 = x.tolist()
print(x2)
x3 = x1.tolist()
print(x3)
數(shù)組計(jì)算
數(shù)組和數(shù)的計(jì)算
- 加減乘除般贼,以加為例
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2))
print(x)
x1 = x+1
print(x1)
- 計(jì)算數(shù)組所有元素的乘積
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2))
print(x)
x1 = np.product(x)
print(x1)
數(shù)組與數(shù)組的計(jì)算
- 同 shape 數(shù)組計(jì)算 - 行列相同,元素與元素對(duì)應(yīng)計(jì)算
import numpy as np
x1 = np.arange(1,5).reshape(2,2)
x2 = np.arange(5,9).reshape(2,2)
print(x1)
print(x2)
x3 = x1+x2
x4 = x1*x2
print(x3)
print(x4)
- 不同緯度數(shù)組計(jì)算-行列不同,遵循廣播機(jī)制
numpy中的廣播機(jī)制:https://blog.csdn.net/yaohaishen/article/details/119350677
- 矩陣乘法(點(diǎn)乘)
Python 之 numpy 和 tensorflow 中的各種乘法(點(diǎn)乘和矩陣乘):https://www.cnblogs.com/liuq/p/9330134.html
矩陣乘法必須滿足矩陣乘法的條件哼蛆,即第一個(gè)矩陣的列數(shù)等于第二個(gè)矩陣的行數(shù)蕊梧。 矩陣乘法的函數(shù)為 dot
import numpy as np
x1 = np.arange(1,7).reshape(2,3)
x2 = np.arange(2,8).reshape(3,2)
print(x1,'\n\n',x2,'\n\n')
print(x1.dot(x2))
numpy 索引和切片
Numpy對(duì)數(shù)組按索引查詢:https://www.cnblogs.com/zhjblogs/p/14664306.html
從 0 起始算第一位,取范圍的時(shí)候包含左邊的數(shù)不包含右邊的數(shù)
- 一維數(shù)組
import numpy as np
x = np.arange(1,7)
print(x)
print(x[1])
print(x[0:2])
print(x[:4])
print(x[:-1])
- 二維數(shù)組
import numpy as np
x = np.arange(1,13).reshape(3,4)
print(x,'\n')
print(x[1,2])
print(x[1],'\n') # 打印第二行
print(x[:1,:-1],'\n') # 逗號(hào)分隔行列取值范圍
print(x[:,2],'\n') # 打印所有行的第三列
print(x[[0,2],:]) # 打印第一行和第三行
- 三維數(shù)組
import numpy as np
x = np.arange(1,25).reshape(2,3,4)
print(x,'\n')
print(x[0,1,2],'\n') # 打印第一個(gè)數(shù)組第二行第三個(gè)元素
print(x[0:2,1:3,:]) # 打印前兩個(gè)數(shù)組第 2,3 行全部的元素
- 行列交換
import numpy as np
x = np.arange(1,13).reshape(3,4)
print(x,'\n')
x[[1,2],:] = x[[2,1],:] # 第 2 行與第 3 行交換
print(x,'\n')
x[:,[0,2]] = x[:,[2,0]] # 第 1 列與第 3 列交換
print(x)
- 布爾索引
import numpy as np
x = np.arange(1,7).reshape(2,3)
print(x,'\n')
x[x<4] = 1 # 把 x 中小于 4 的數(shù)字替換為 1
print(x)
數(shù)組的拆分與合并
函數(shù) | 說(shuō)明 |
---|---|
np.concatenate([x,y]) | 最一般化的連接人芽,沿一條軸連接一組數(shù)組望几,用參數(shù) axis 設(shè)定軸 |
np.vstack([x,y]) | 豎直拼接 |
np.hstack([x,y]) | 水平拼接 |
np.dstack([x,y]) | 合并成多維數(shù)組 |
np.split(x,y) | 沿指定軸在指定位置拆分?jǐn)?shù)組 |
- concatenate(),數(shù)組 shape 相同才可以連接
import numpy as np
x1 = np.arange(2,6).reshape(2,2)
x2 = np.arange(1,5).reshape(2,2)
print(np.concatenate([x1,x2],axis=0),'\n') # 默認(rèn)即為 axis=0
print(np.concatenate([x1,x2],axis=1))
- vstack() - 豎直拼接,數(shù)組每行元素個(gè)數(shù)相同才能拼接,否則報(bào)錯(cuò)
import numpy as np
x1 = np.arange(1,7).reshape(2,3)
x2 = np.arange(7,13).reshape(2,3)
x3 = np.arange(13,16)
print(np.vstack([x1,x2]),'\n')
print(np.vstack([x1,x3]))
- hstack() - 水平拼接屈梁,數(shù)組行數(shù)要一樣,否則報(bào)錯(cuò)
import numpy as np
x1 = np.arange(1,7).reshape(2,3)
x2 = np.arange(7,13).reshape(2,3)
print(np.hstack([x1,x2]))
- dstack() - 合并成多維數(shù)組楼誓,需要合并的每個(gè)數(shù)組的 shape 要一樣,否則報(bào)錯(cuò)
import numpy as np
x1 = np.arange(1,7).reshape(2,3)
x2 = np.arange(7,13).reshape(2,3)
print(np.dstack([x1,x2]))
- split() - 拆分?jǐn)?shù)組
一維數(shù)組
import numpy as np
x1 = np.arange(1,10)
print(np.split(x1,3))
print(np.split(x1,[3,7]))
x2 = np.split(x1,3)
print(x2[1])
二維數(shù)組 - 必須均等分名挥,否則報(bào)錯(cuò)
import numpy as np
x1 = np.arange(1,9).reshape(2,4)
print(x1)
print(np.split(x1,2))
print(np.split(x1,2,axis=1))
where 函數(shù)
- np.where(condition, x, y) - 滿足條件 condition疟羹,輸出 x,不滿足輸出 y
import numpy as np
x = np.arange(1,10).reshape(3,3)
print(x,'\n')
print(np.where(x<5,0,1)) # 小于5的改為0禀倔,大于的改為1
- np.where(condition) - 只有條件榄融,沒(méi)有 x 和 y,則輸出滿足條件(即非 0 )元素的坐標(biāo)
import numpy as np
x = np.arange(1,10).reshape(3,3)
print(x,'\n')
print(np.where(x<5))
二維數(shù)組有兩個(gè)坐標(biāo)救湖,兩個(gè)數(shù)組愧杯,小于 5 的元素坐標(biāo)一一對(duì)應(yīng),分別為 (0,0)鞋既,(0,1)力九,(0,2),(1,0) 即第一行的三個(gè)元素和第二行的第一個(gè)元素
take 函數(shù)
np.take(a, indices, axis=None, out=None, mode='raise')
import numpy as np
x = np.arange(1,10).reshape(3,3)
print(x,'\n')
print(x.take(indices=1,axis=0)) # 沿 0 軸取第 2 行
print(x.take(1,0))
print(x.take(indices=1,axis=1)) # 沿 1 軸取第 2 列
print(x.take(1,1))
numpy 中的 nan 和 inf
nan(NAN, Nan):not a number 表示不是一個(gè)數(shù)字邑闺。當(dāng)讀取本地文件為 float 的時(shí)候跌前,如果有缺失,就會(huì)出現(xiàn) nan陡舅。在數(shù)據(jù)分析中抵乓,nan 常被用作數(shù)據(jù)缺失值
inf(inf, -inf):infinity,inf 表示正無(wú)窮靶衍,-inf 表示負(fù)無(wú)窮臂寝。當(dāng)做一個(gè)不合適的計(jì)算的時(shí)候會(huì)出現(xiàn)
import numpy as np
x = np.arange(1,10,dtype=float).reshape(3,3)
x[x<5] = np.nan
print(x)
# 判斷數(shù)組中 nan 的個(gè)數(shù)
print(np.count_nonzero(x!=x))
print(np.count_nonzero(np.isnan(x)))
# 將數(shù)組中的 nan 替換成 0
x[np.isnan(x)] = 0
print(x)
數(shù)組的讀取和存儲(chǔ)
- 文本文件的存取 - savetxt() 和 loadtxt() 函數(shù),只能讀寫一摊灭、二維數(shù)組
import numpy as np
x = np.arange(1,7).reshape(2,3)
np.savetxt("test.txt",x)
x1 = np.loadtxt("test.txt")
print(x1)
- 以二進(jìn)制格式存儲(chǔ) - 后綴名為.npy
import numpy as np
x = np.arange(1,28).reshape(3,3,3)
np.save("test",x)
x1 = np.load("test.npy")
print(x1)
NumPy 常用函數(shù)
函數(shù) | 說(shuō)明 |
---|---|
np.abs(x) | 計(jì)算數(shù)組各元素的絕對(duì)值 |
np.sqrt(x) | 計(jì)算數(shù)組各元素的平方根 |
np.square(x) | 計(jì)算數(shù)組各元素的平方 |
np.log(x),np.log10(x)败徊,np.log2(x) | 計(jì)算數(shù)組各元素的自然對(duì)數(shù)帚呼,10 底對(duì)數(shù)和 2 底對(duì)數(shù) |
np.ceil(x),np.floor(x) | 計(jì)算數(shù)組各元素的 ceiling 值(向上取整)或 floor 值(向下取整) |
np.rint(x) | 計(jì)算數(shù)組各元素的四舍五入值 |
np.modf(x) | 將數(shù)組各元素的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立數(shù)組的形式返回 |
np.exp(x) | 計(jì)算數(shù)組各元素的指數(shù)值 |
np.sign(x) | 計(jì)算數(shù)組各元素的符號(hào)值 |
x.sum(axis=None) | 計(jì)算數(shù)組各元素的和 |
x.mean(x, axis=None) | 計(jì)算數(shù)組的均值,受離群點(diǎn)的影響較大 |
np.average(x, weights=t) | 求數(shù)組的加權(quán)平均值 |
np.median(x, axis=None) | 求數(shù)組的中值 |
np.maximum(x, y, out=None) | x 與 y 逐位比較取其大者煤杀;至少接受兩個(gè)參數(shù) |
np.maximum(x, y, out=None) | x 與 y 逐位比較取其小者眷蜈;至少接受兩個(gè)參數(shù) |
x.max(axis=None),x.min(axis=None) | 求數(shù)組的最大/小值 |
np.ptp(x,axis=None) | 求數(shù)組的極值沈自,即最大值和最小值之差 |
np.var(x) | 計(jì)算數(shù)組的方差酌儒。當(dāng) ddof 參數(shù)為 0 時(shí),計(jì)算偏樣本方差枯途;當(dāng) ddof 為 1 時(shí)忌怎,計(jì)算無(wú)偏樣本方差,默認(rèn)值為 0 |
x.std(axis=None) | 求數(shù)組的標(biāo)準(zhǔn)差 |
np.argmax(x)酪夷,np.argmin(x) | 獲取最大值最小值的位置榴啸,可以用 axis 參數(shù)設(shè)置軸 |
np.unique(x) | 計(jì)算 x 中的唯一元素,并返回有序結(jié)果 |
np.intersect1d(x, y) | 計(jì)算 x 和 y 中的公共元素晚岭,并返回有序結(jié)果 |
np.union1d(x, y) | 計(jì)算 x 和 y 的并集鸥印,并返回有序結(jié)果 |
np.setdiff1d(x, y) | 集合的差,即元素在 x 中且不在 y 中 |
import numpy as np
x = np.array([1,4,9,16]).reshape((2,2))
print(x)
x1 = np.sqrt(x)
print(x1,x1.dtype)