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

numpy如何刪除矩陣中的部分?jǐn)?shù)據(jù)numpy.delete

 更新時(shí)間:2024年02月22日 10:36:30   作者:patrickpdx  
這篇文章主要介紹了numpy如何刪除矩陣中的部分?jǐn)?shù)據(jù)numpy.delete問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

numpy刪除矩陣中的部分?jǐn)?shù)據(jù)

numpy.delete(arr ,id ,axis=None)

官方鏈接

功能:

(1)如果輸入了axis,則把數(shù)組arraxis指定的維度進(jìn)行切片,并刪除掉id指定下標(biāo)的元素

(2)如果沒(méi)有輸入axis,則把數(shù)組arr扁平化,并刪除掉id指定下標(biāo)的元素

示例:

import numpy as np
mat= np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
print('mat=',mat)
print('刪除第0行:',np.delete(mat,0,axis=0))
print('刪除第0列:',np.delete(mat,0,axis=1))

結(jié)果:

mat= [[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
刪除第0行: [[ 5  6  7  8]
 [ 9 10 11 12]]
刪除第0列: [[ 2  3  4]
 [ 6  7  8]
 [10 11 12]]

從numpy數(shù)組中隨機(jī)刪除一部分?jǐn)?shù)據(jù)

可以使用numpy中的random.choice函數(shù)隨機(jī)選擇數(shù)組的下標(biāo)

numpy.random.choice(a, size=None, replace=True, p=None)
#a為一維數(shù)組或int值,為一維數(shù)組時(shí)會(huì)從該數(shù)組中隨機(jī)選擇元素,為int值時(shí)會(huì)先生成一個(gè)np.arange(a)的數(shù)組,然后從中隨機(jī)選擇元素
#size為int值,為選擇元素的個(gè)數(shù)
#replace默認(rèn)為T(mén)rue,意思是隨機(jī)選擇出的元素還會(huì)放回樣本集中,即生成的數(shù)列中可能存在相同的元素,為False時(shí)就不會(huì)出現(xiàn)
#p為樣本選擇的概率,默認(rèn)為一致分布

一維例子,二維直接這樣也沒(méi)有問(wèn)題

import numpy as np
data=np.random.random(size=10)
data
Out[4]: 
array([ 0.21575642,  0.30620622,  0.01454852,  0.46253994,  0.11222712,
        0.32893411,  0.11040516,  0.51010326,  0.83162364,  0.84285834])
index_1=np.random.choice(data.shape[0],4,replace=False)
index_1
Out[6]: array([1, 4, 2, 3])
data1=data[index_1]
data1
Out[8]: array([ 0.30620622,  0.11222712,  0.01454852,  0.46253994])

然后我們?nèi)绾潍@得剩下的數(shù)組中的內(nèi)容呢,我們可以先生成原數(shù)組所有的下標(biāo),然后用np.delete函數(shù)刪除之前隨機(jī)生成的下標(biāo)數(shù)組

# numpy.delete(arr,obj,axis=None) 
# arr:輸入向量 
# obj:表明哪一個(gè)子向量應(yīng)該被移除??梢詾檎麛?shù)或一個(gè)int型的向量 
# axis:表明刪除哪個(gè)軸的子向量,若默認(rèn),則返回一個(gè)被拉平的向量
index_2=np.arange(data.shape[0])
index_2
Out[10]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
index_2=np.delete(index_2,index_1)
index_2
Out[12]: array([0, 5, 6, 7, 8, 9])
data2=data[index_2]
data2
Out[14]: 
array([ 0.21575642,  0.32893411,  0.11040516,  0.51010326,  0.83162364,
        0.84285834])

總結(jié)

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

相關(guān)文章

最新評(píng)論