




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、平日工作里經(jīng)常會(huì)聽到周邊小伙伴說:我X,內(nèi)存又爆了!對于這樣的話我聽了不下百遍。正因?yàn)槿绱耍谫Y源有限的情況下,我們都是變著法的減少內(nèi)存占用,一些常用的方法如:gc.collect和del回收使用csv的替代品,如 HYPERLINK /s?_biz=MzUzODYwMDAzNA=&mid=2247543807&idx=1&sn=9977c51c32af6118c765a0adf20905a3&chksm=fad75cf2cda0d5e4584e23f931e12d0292db6eb34e5e1aaaaaf4a31dfc6099ab294b9340e079&token=2078782947&l
2、ang=zh_CN&scene=21 l wechat_redirect feather、Parquet優(yōu)化代碼, HYPERLINK /s?_biz=MzUzODYwMDAzNA=&mid=2247517636&idx=2&sn=4225c9dcbd9604453620be5bbe6b76f8&chksm=fad7f2c9cda07bdf4b759ec1ac0e0c168538fc570c1c687679ffd1b54bfb850f2b8e0d4cd371&token=2078782947&lang=zh_CN&scene=21 l wechat_redirect 盡量使用Numpy矩陣代替
3、for循環(huán)和apply.本次再分享一個(gè)騷操作,就是通過改變數(shù)據(jù)類型來壓縮內(nèi)存空間,可以延伸到所有數(shù)據(jù)類型。正常情況下,pandas會(huì)給數(shù)據(jù)列自動(dòng)設(shè)置默認(rèn)的數(shù)據(jù)類型,其中最令人討厭并且最消耗內(nèi)存的數(shù)據(jù)類型就是object(O),這也恰好限制了 pandas的一些功能。下面是 pandas、Python、Numpy的數(shù)據(jù)類型列表,對比你就發(fā)現(xiàn)pandas的數(shù)據(jù)類型是有很大優(yōu)化空間的。Pandas dtypePython typeNumPy typeUsageobjectstrstring_,unicodeTextint64intint,int8,intl6,int32,int64,uint8,ui
4、nt16,uint32,uint64Integer numbersfloat64floatfloat,float16,float32,float64Floating point numbersboolboolbool_True/False valuesdatetime64NAdatetime64nsDate and time valuestimedeltansNANADifferences between two datetimescategoryNANAFinite list of text values來源:http : /pandas_dtypes.html很多默認(rèn)的數(shù)據(jù)類型占用很多內(nèi)存
5、空間,其實(shí)根據(jù)沒有必要,我們完全可以壓縮到可能小的子類型。Data typeDescriptionbool_Boolean(True or False) stored as a byteint_Default integer type(same as C 1ong ; normally either int64or int32)intcldentical to C int(normally int32 or int64)intpInteger used for indexing(same as C ssize_t; normally either int32 or int64)int8Byte
6、(-128 to 127)int16Integer(-32768 to 32767)int32Integer(-2147483648 to 2147483647)int64Integer(-9223372036854775808 to 9223372036854775807)uint8Unsigned integer(0 to 255)uint16Unsigned integer(0 to 65535)uint32Unsigned integer(0 to 4294967295)uint64Unsigned integer(0 to 18446744073709551615)float_Sho
7、rthand for float64.float16Half precision float: sign bit,5 bits exponent,10 bits mantissafloat32Single precision float: sign bit,8 bits exponent,23 bits mantissafloat64Double precision float: sign bit,11 bits exponent,52 bits mantissacomplex_Shorthand for plex64Complex number, represented by two 32-
8、bit floats(real and imaginary components)complex128Complex number, represented by two 64-bit floats(real and imaginary components)來源:https : /doc/numpy-1.13.0/user/basics.types.html上面是scipy文檔中列出的所有數(shù)據(jù)類型,從簡單到復(fù)雜。我們希望將類型簡單化,以此節(jié)省內(nèi)存,比如將浮點(diǎn)數(shù)轉(zhuǎn)換為float16/32,或者將具有正整數(shù)和負(fù)整數(shù)的列轉(zhuǎn)為int8/16/32,還可以將布爾值轉(zhuǎn)換為uint8,甚至僅使用正整數(shù)來進(jìn)
9、一步減少內(nèi)存消耗?;谏厦嫠f的變量類型簡化的思考,寫出一個(gè)自動(dòng)轉(zhuǎn)化的函數(shù),它可以根據(jù)上表將浮點(diǎn)數(shù)和整數(shù)轉(zhuǎn)換為它們的最小子類型:defreduce_memory_usage(df,verbose=True):numerics=int8,int16,int32,int64,float16,float32,float64start_mem=df.memory_usage().sum()/1024*2forcolindf.columns:col_type=dfcol.dtypesifcol_typeinnumerics:c_min=dfcol.min()c_max=dfcol.max()ifstr(col_type):3=int:ifc_minnp.iinfo(8).minandc_maxnp.iinfo(16).minandc_maxnp.iinfo(32).minandc_maxnp.iinfo(64).minandc_maxnp.finfo(np.float16).minandc_maxnp.finfo(np.float32).minandc_maxreduce_memory_usage(tps_october)Mem.usagedecreasedto509.26Mb(76.9%reduction)數(shù)據(jù)集的內(nèi)存占用從原來的 2.2GB壓縮到 510MB。不要小看這個(gè)壓縮
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省臨沂市郯城縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 辦公樓簡易裝修合同
- 證券投資咨詢服務(wù)協(xié)議書
- 深圳房屋出租合同
- 智能家居設(shè)備購買安裝合同
- 全球金融中心交易量對比表
- 季度工作計(jì)劃與執(zhí)行方案
- 健康管理與咨詢協(xié)議書
- 會(huì)議室內(nèi)設(shè)備使用情況統(tǒng)計(jì)表
- 企業(yè)市場營銷活動(dòng)策劃與效果評(píng)估體系建設(shè)方案
- 法考-01刑法-案例指導(dǎo)用書【】
- 《考古學(xué)》第二章-田野考古課件
- 膀胱鏡檢查記錄
- 檔案銷毀清冊
- 固體物理21固體的結(jié)合課件
- 水平定向鉆施工規(guī)范方案
- 細(xì)支氣管肺泡癌的影像診斷(61頁)
- 2022年東北大學(xué)現(xiàn)代控制理論試題及答案
- X射線的物理學(xué)基礎(chǔ)-
- 教學(xué)樓畢業(yè)設(shè)計(jì)資料
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
評(píng)論
0/150
提交評(píng)論