Python中inplace、subset參數(shù)的意義及說明
Python中inplace、subset參數(shù)的意義
在Python使用中,很多函數(shù)都會有inplace這個(gè)參數(shù)。
df.drop(['CLOSE'],axis=1,inplace=True)
Inplace = True意思就是df.drop()函數(shù)執(zhí)行完之后,直接賦值給df這個(gè)對象,如果Inplace = False則df.drop()只是執(zhí)行了drop()這個(gè)函數(shù),但是并沒有將執(zhí)行后的結(jié)果返回給df這個(gè)對象,也就是如果此時(shí)print(df)還是跟原來一樣。
subset = ['col1','col2'...]
subset指的是限定函數(shù)作用范圍,只在[‘col1’,‘col2’…]列內(nèi)
激活函數(shù)nn.ReLU(inplace=True)中inplace的作用
nn.ReLU(inplace=True)
參數(shù)inplace=True:
inplace為True,將計(jì)算得到的值直接覆蓋之前的值
inplace:can optionally do the operation in-place. Default: False
注: 產(chǎn)生的計(jì)算結(jié)果不會有影響。利用in-place計(jì)算可以節(jié)省內(nèi)(顯)存,同時(shí)還可以省去反復(fù)申請和釋放內(nèi)存的時(shí)間。但是會對原變量覆蓋,只要不帶來錯誤就用。
例如:x = x+1
即對原值x進(jìn)行+1操作后得到的值,直接賦值給x,而不是如下找一個(gè)中間變量y:
- y=x+1
- x=y
先將x進(jìn)行+1操作后賦值給中間變量y,然后將y值賦給x
這樣就需要內(nèi)存存儲變量y
因此當(dāng)inplace=True時(shí):
就是對從上層網(wǎng)絡(luò)nn.Conv2d中傳遞下來的tensor直接進(jìn)行修改,這樣能夠節(jié)省運(yùn)算內(nèi)存,不用多存儲其他變量。
python pandas中inplace分析
pandas中很多函數(shù)都有inplace參數(shù),他們都作是否修改傳入數(shù)據(jù)的意思,為True時(shí)就是修改。但inplace還封裝了一個(gè)作用,就是復(fù)制,在賦值的時(shí)候,其實(shí)賦值就是一種復(fù)制,inplace為True的時(shí)候,不進(jìn)行復(fù)制操作。
inplace還有一個(gè)意義就是原對象不遷移,屬于不將映射轉(zhuǎn)到其他變量或?qū)ο笊稀5珵閒alse的時(shí)候可以復(fù)制,賦值到的那個(gè)對象保留了原對象執(zhí)行函數(shù)的一種映射,但不會改變原對象。
所以這種方式就是為了保留原來數(shù)據(jù)的一種便捷方式,不用多次賦值來避免原來的對象改變又能得到一個(gè)長期的映射。
inplace這個(gè)參數(shù)設(shè)置好之后,即使是提前設(shè)置了原對象和新對象的淺復(fù)制,也一樣不可撼動其執(zhí)行效果,df1=df
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python列表排序用?sort()和sorted()的區(qū)別
這篇文章主要介紹了python列表排序用?sort()和sorted()的區(qū)別,主要比較?Python?中用于列表排序的兩種函數(shù)?sort()?和?sorted(),選擇合適的排序函數(shù),下文詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-03-03
Python在6個(gè)人工智能領(lǐng)域的實(shí)際應(yīng)用示例代碼
Python在人工智能(AI)領(lǐng)域得到了廣泛的應(yīng)用,從機(jī)器學(xué)習(xí)到深度學(xué)習(xí),從自然語言處理到計(jì)算機(jī)視覺,Python提供了豐富的庫和框架,使得開發(fā)者能夠快速實(shí)現(xiàn)各種AI應(yīng)用,本文將通過多個(gè)實(shí)際案例,展示Python在人工智能領(lǐng)域的強(qiáng)大功能和應(yīng)用前景2025-08-08
Python 字符串處理特殊空格\xc2\xa0\t\n Non-breaking space
今天遇到一個(gè)問題,使用python的find函數(shù)尋找字符串中的第一個(gè)空格時(shí)沒有找到正確的位置,下面是解決方法,需要的朋友可以參考下2020-02-02
python裝飾器-限制函數(shù)調(diào)用次數(shù)的方法(10s調(diào)用一次)
下面小編就為大家分享一篇python裝飾器-限制函數(shù)調(diào)用次數(shù)的方法(10s調(diào)用一次),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python Sqlalchemy如何實(shí)現(xiàn)select for update
這篇文章主要介紹了Python Sqlalchemy如何實(shí)現(xiàn)select for update,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
從零開始學(xué)Python第八周:詳解網(wǎng)絡(luò)編程基礎(chǔ)(socket)
本篇文章主要介紹了從零開始學(xué)Python第八周:詳解網(wǎng)絡(luò)編程基礎(chǔ)(socket) ,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12

