numpy如何刪除矩陣中的部分數(shù)據(jù)numpy.delete
numpy刪除矩陣中的部分數(shù)據(jù)
numpy.delete(arr ,id ,axis=None)
功能:
(1)如果輸入了axis
,則把數(shù)組arr
在axis
指定的維度進行切片,并刪除掉id
指定下標的元素
(2)如果沒有輸入axis
,則把數(shù)組arr
扁平化,并刪除掉id
指定下標的元素
示例:
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ù)組中隨機刪除一部分數(shù)據(jù)
可以使用numpy中的random.choice函數(shù)隨機選擇數(shù)組的下標
numpy.random.choice(a, size=None, replace=True, p=None) #a為一維數(shù)組或int值,為一維數(shù)組時會從該數(shù)組中隨機選擇元素,為int值時會先生成一個np.arange(a)的數(shù)組,然后從中隨機選擇元素 #size為int值,為選擇元素的個數(shù) #replace默認為True,意思是隨機選擇出的元素還會放回樣本集中,即生成的數(shù)列中可能存在相同的元素,為False時就不會出現(xiàn) #p為樣本選擇的概率,默認為一致分布
一維例子,二維直接這樣也沒有問題
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ù)組所有的下標,然后用np.delete函數(shù)刪除之前隨機生成的下標數(shù)組
# numpy.delete(arr,obj,axis=None) # arr:輸入向量 # obj:表明哪一個子向量應該被移除。可以為整數(shù)或一個int型的向量 # axis:表明刪除哪個軸的子向量,若默認,則返回一個被拉平的向量 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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 將html轉(zhuǎn)換為pdf的幾種方法
這篇文章主要介紹了python 將html轉(zhuǎn)換為pdf的幾種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12python簡單實現(xiàn)基于SSL的IRC bot實例
這篇文章主要介紹了python簡單實現(xiàn)基于SSL的IRC bot,實例分析了IRC機器人的相關實現(xiàn)技巧,需要的朋友可以參考下2015-06-06Jupyter Notebook運行Python代碼實現(xiàn)傳參方式
這篇文章主要介紹了Jupyter Notebook運行Python代碼實現(xiàn)傳參方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07