欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)

 更新時間:2023年05月10日 15:01:30   作者:Mr_Wang_up  
這篇文章主要介紹了Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Numpy創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)

1、利用Numpy創(chuàng)建向量和二維矩陣

1.1 創(chuàng)建向量

得到

需要強調的是,向量的維度,在python中并不是書本上所學的N*1,而是

即只有9,向量的列數(shù)1,被置為空。

注意的是,無論是行向量還是列向量,維度都是(N,空),而不會(空,N)

由于列數(shù)是空,所以與矩陣相乘的時候,無法放在左邊,即不能向量*矩陣,只能矩陣乘向量

1.2 創(chuàng)建二維矩陣

 注意:這里1前面有兩個中括號(N維矩陣就是N個中括號)。結果為:

2、等間隔抽取數(shù)據(jù)

2.1 向量抽取

由于向量只有一維,所以只需

解釋:a[0:9:2]表示向量中第[0~9)位置處的數(shù)據(jù)按照每2個取一個的規(guī)則取出。由于0~9是前閉后開區(qū)間,所以等價于抽取第0,2,4,6,8個位置的數(shù)據(jù)

且如果a[0,0:9:2]會報錯,錯誤如下:

這是因為向量只有一維,a[0,0:9:2]表示的是第一維是0,第二維是0:9:2,所以報錯。

2.2 二維矩陣抽取

由于二維矩陣有兩維,所以需要

如圖b是一個3行5列的矩陣

(1) 抽取的行為0:3:2,即[0,3)行中每兩行取一行,則取出來是第0行和第2行,

(2) 抽取的列為0:5:3,即[0,5)列中每3列取一列,則取出來是第0列和第3列。

綜上,取出來的數(shù)據(jù)是b(0,0)=1,b(0,3)=4,b(2,0)=1,b(2,3)=3

3、N維矩陣抽取同理

對Numpy數(shù)據(jù)多個維度上等間隔取值

import torch
import numpy as np
import time
from torch.autograd import Variable
a=np.arange(256*256*3)
d256=a.reshape((256,256,3))
d128=d256[::2,::2]
print(d128.shape)
d64=d256[::4,::4]
print(d64.shape)
d32=d256[::8,::8]
print(d32.shape)

兩個冒號后面的數(shù)字表示取間隔的大小,上面只在d256前兩個維度等間隔取值,若要在第三個維度也等間隔取值,再加一個逗號即可

d=d256[::2,::2,::2]

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論