校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化

python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化

熱門標(biāo)簽:上海正規(guī)的外呼系統(tǒng)最新報(bào)價(jià) 長春極信防封電銷卡批發(fā) 電銷機(jī)器人錄音要學(xué)習(xí)什么 如何地圖標(biāo)注公司 預(yù)覽式外呼系統(tǒng) 煙臺(tái)電話外呼營銷系統(tǒng) 銀川電話機(jī)器人電話 企業(yè)彩鈴地圖標(biāo)注 外賣地址有什么地圖標(biāo)注

💃今天看案例的時(shí)候看見了一個(gè)關(guān)于pandas數(shù)據(jù)的內(nèi)存壓縮功能,特地來記錄一下。

🎒先說明一下情況,pandas處理幾百兆的dataframe是沒有問題的,但是我們?cè)谔幚韼讉€(gè)G甚至更大的數(shù)據(jù)時(shí),就會(huì)特別占用內(nèi)存,對(duì)內(nèi)存小的用戶特別不好,所以對(duì)數(shù)據(jù)進(jìn)行壓縮是很有必要的。

1. pandas查看數(shù)據(jù)占用大小

給大家看一下這么查看自己的內(nèi)存大小(user_log是dataframe的名字)

#方法1 就是使用查看dataframe信息的命令
user_log.info()
#方法2 使用memory_usage()或者getsizeof(user_log)
import time
import sys
print('all_data占據(jù)內(nèi)存約: {:.2f} GB'.format(user_log.memory_usage().sum()/ (1024**3)))
print('all_data占據(jù)內(nèi)存約: {:.2f} GB'.format(sys.getsizeof(user_log)/(1024**3)))

我這里有個(gè)dataframe文件叫做user_log,原始大小為1.91G,然后pandas讀取出來,內(nèi)存使用了2.9G。

看一下原始數(shù)據(jù)大小:1.91G

pandas讀取后的內(nèi)存消耗:2.9G

2. 對(duì)數(shù)據(jù)進(jìn)行壓縮

  • 數(shù)值類型的列進(jìn)行降級(jí)處理(‘int16', ‘int32', ‘int64', ‘float16', ‘float32', ‘float64')
  • 字符串類型的列轉(zhuǎn)化為類別類型(category)
  • 字符串類型的列的類別數(shù)超過總行數(shù)的一半時(shí),建議使用object類型

我們這里主要采用對(duì)數(shù)值型類型的數(shù)據(jù)進(jìn)行降級(jí),說一下降級(jí)是什么意思意思呢,可以比喻為一個(gè)一個(gè)抽屜,你有一個(gè)大抽屜,但是你只裝了鑰匙,這就會(huì)有很多空間浪費(fèi)掉,如果我們將鑰匙放到一個(gè)小抽屜里,就可以節(jié)省很多空間,就像字符的類型int32 比int8占用空間大很多,但是我們的數(shù)據(jù)使用int8類型就夠了,這就導(dǎo)致數(shù)據(jù)占用了很多空間,我們要做的就是進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,節(jié)省內(nèi)存空間。

壓縮數(shù)值的這段代碼是從天池大賽的某個(gè)項(xiàng)目中看見的,查閱資料后發(fā)現(xiàn),大家壓縮內(nèi)存都是基本固定的函數(shù)形式

def reduce_mem_usage(df):
    starttime = time.time()
    numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
    start_mem = df.memory_usage().sum() / 1024**2
    for col in df.columns:
        col_type = df[col].dtypes
        if col_type in numerics:
            c_min = df[col].min()
            c_max = df[col].max()
            if pd.isnull(c_min) or pd.isnull(c_max):
                continue
            if str(col_type)[:3] == 'int':
                if c_min > np.iinfo(np.int8).min and c_max  np.iinfo(np.int8).max:
                    df[col] = df[col].astype(np.int8)
                elif c_min > np.iinfo(np.int16).min and c_max  np.iinfo(np.int16).max:
                    df[col] = df[col].astype(np.int16)
                elif c_min > np.iinfo(np.int32).min and c_max  np.iinfo(np.int32).max:
                    df[col] = df[col].astype(np.int32)
                elif c_min > np.iinfo(np.int64).min and c_max  np.iinfo(np.int64).max:
                    df[col] = df[col].astype(np.int64)
            else:
                if c_min > np.finfo(np.float16).min and c_max  np.finfo(np.float16).max:
                    df[col] = df[col].astype(np.float16)
                elif c_min > np.finfo(np.float32).min and c_max  np.finfo(np.float32).max:
                    df[col] = df[col].astype(np.float32)
                else:
                    df[col] = df[col].astype(np.float64)
    end_mem = df.memory_usage().sum() / 1024**2
    print('-- Mem. usage decreased to {:5.2f} Mb ({:.1f}% reduction),time spend:{:2.2f} min'.format(end_mem,
                                                                                                           100*(start_mem-end_mem)/start_mem,
                                                                                                           (time.time()-starttime)/60))
    return df

用壓縮的方式將數(shù)據(jù)導(dǎo)入user_log2中

#首先讀取到csv中如何傳入函數(shù)生稱新的csv
user_log2=reduce_mem_usage(pd.read_csv(r'/Users/liucong/MainFiles/ML/tianchi/tianmiao/user_log_format1.csv'))

讀取成功:內(nèi)訓(xùn)大小為890.48m 減少了69.6%,效果顯著

查看壓縮后的數(shù)據(jù)集信息:類型發(fā)生了變化,數(shù)量變小了

3. 參考資料

《天池大賽》
《kaggle大賽》
鏈接: pandas處理datafarme節(jié)約內(nèi)存.

到此這篇關(guān)于python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化的文章就介紹到這了,更多相關(guān)python DataFrame內(nèi)存優(yōu)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python切片中內(nèi)存的注意事項(xiàng)總結(jié)
  • 用python監(jiān)控服務(wù)器的cpu,磁盤空間,內(nèi)存,超過郵件報(bào)警
  • 總結(jié)python 三種常見的內(nèi)存泄漏場(chǎng)景
  • Python numpy大矩陣運(yùn)算內(nèi)存不足如何解決
  • Python內(nèi)存泄漏和內(nèi)存溢出的解決方案
  • Python中的內(nèi)存管理之python list內(nèi)存使用詳解

標(biāo)簽:西寧 宜昌 潮州 上饒 佳木斯 珠海 盤錦 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化》,本文關(guān)鍵詞  python,數(shù)據(jù)分析,之,DataFrame,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化》相關(guān)的同類信息!
  • 本頁收集關(guān)于python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    婷婷开心久久网| 欧美日韩一区高清| 欧美日韩一区小说| 国产日韩欧美a| 视频一区在线视频| www.日韩精品| 久久久精品免费免费| 日本不卡123| 欧美午夜理伦三级在线观看| 国产精品系列在线| 国产酒店精品激情| 日韩欧美国产系列| 日韩精品一二三区| 欧美亚洲高清一区| 一区二区三区精密机械公司| 成人av电影在线网| 亚洲国产精品成人综合| 国产suv精品一区二区883| 欧美大片拔萝卜| 美国欧美日韩国产在线播放| 欧美精品久久久久久久久老牛影院| 亚洲人成精品久久久久久| 成人免费观看视频| 国产女同性恋一区二区| 国产精品一区二区久激情瑜伽| 日韩女优av电影| 极品少妇xxxx精品少妇偷拍 | 日本欧美久久久久免费播放网| 色国产综合视频| 一区二区三区高清不卡| 91国在线观看| 亚洲国产你懂的| 欧美日韩精品一区二区天天拍小说 | 欧美系列一区二区| 亚洲v中文字幕| 8v天堂国产在线一区二区| 视频一区二区中文字幕| 在线成人小视频| 人人爽香蕉精品| 久久伊99综合婷婷久久伊| 国产精品亚洲专一区二区三区| 久久久精品tv| 成人国产电影网| 亚洲综合一区在线| 欧美一区二区视频在线观看2020| 美国十次了思思久久精品导航| 精品1区2区在线观看| 国产精品一区在线观看乱码| 国产精品污污网站在线观看| 色综合天天性综合| 五月天国产精品| 日韩精品专区在线| 成人动漫一区二区在线| 伊人性伊人情综合网| 欧美精品xxxxbbbb| 国产九色sp调教91| 亚洲人成在线播放网站岛国| 欧美久久一区二区| 国产黄色成人av| 亚洲午夜国产一区99re久久| 日韩欧美国产精品一区| 成人av资源在线| 免费成人小视频| 中文天堂在线一区| 欧美精品久久久久久久多人混战 | 欧美日韩免费电影| 狠狠色丁香九九婷婷综合五月| 国产精品国产三级国产专播品爱网| 91黄色免费观看| 韩日欧美一区二区三区| 亚洲精品久久久久久国产精华液| 91.xcao| 一本色道久久综合精品竹菊| 免费高清视频精品| 又紧又大又爽精品一区二区| 精品国产一区二区三区不卡| 91在线视频官网| 国产呦精品一区二区三区网站| 亚洲裸体xxx| 国产婷婷一区二区| 91精品国产手机| 色综合久久88色综合天天免费| 久久99精品久久只有精品| 亚洲综合色丁香婷婷六月图片| 国产亚洲欧美色| 正在播放亚洲一区| 欧美最猛性xxxxx直播| 粉嫩高潮美女一区二区三区| 久久精品国产网站| 亚洲国产精品一区二区www在线| 国产肉丝袜一区二区| 欧美一区二区成人| 欧美日韩免费在线视频| 91视频在线观看免费| 国产jizzjizz一区二区| 久久爱另类一区二区小说| 图片区小说区区亚洲影院| 亚洲欧美国产77777| 亚洲国产成人私人影院tom| 日韩美女视频一区二区在线观看| 欧美三级视频在线| 色婷婷狠狠综合| 99re免费视频精品全部| 丁香桃色午夜亚洲一区二区三区| 美女一区二区三区在线观看| 肉丝袜脚交视频一区二区| 亚洲韩国一区二区三区| 亚洲一二三四在线| 亚洲一级电影视频| 亚洲国产日产av| 亚洲国产va精品久久久不卡综合| 亚洲免费伊人电影| 亚洲综合999| 亚洲国产精品久久人人爱 | 国产精品美女久久久久久 | 2019国产精品| 国产亚洲综合性久久久影院| 久久久国际精品| 国产免费成人在线视频| 国产精品网站在线播放| 国产精品精品国产色婷婷| 亚洲伦理在线免费看| 亚洲一区二区三区激情| 日本亚洲免费观看| 经典三级视频一区| 成a人片国产精品| 在线免费观看一区| 91麻豆精品国产91久久久使用方法 | 欧美激情一区二区三区蜜桃视频 | 国产午夜精品久久久久久免费视| 中文字幕免费不卡在线| 亚洲欧美日韩在线| 亚洲超碰97人人做人人爱| 久久精品国产成人一区二区三区| 国产一区二三区好的| 丰满亚洲少妇av| 欧美午夜一区二区三区免费大片| 欧美一卡二卡在线观看| 国产欧美视频一区二区三区| 亚洲人吸女人奶水| 日韩—二三区免费观看av| 国产精品亚洲一区二区三区妖精| 91在线免费播放| 91精品免费观看| 国产精品美日韩| 五月天丁香久久| 国产69精品久久99不卡| 色婷婷av一区二区三区之一色屋| 91精品福利在线一区二区三区| 国产日韩欧美不卡在线| 亚洲在线成人精品| 国产一区二区在线视频| 91精品1区2区| 欧美韩日一区二区三区| 亚洲图片欧美综合| 国产成人精品一区二区三区四区| 欧美羞羞免费网站| 国产精品视频在线看| 天天色天天操综合| 99热精品国产| 久久综合av免费| 亚洲一卡二卡三卡四卡| 懂色av一区二区三区免费观看| 欧美久久久久久久久久| 国产精品传媒入口麻豆| 另类欧美日韩国产在线| 日本韩国一区二区三区| 国产亚洲精品aa| 麻豆免费精品视频| 在线一区二区三区四区| 国产精品午夜电影| 国产精品一区免费视频| 日韩欧美专区在线| 亚洲va韩国va欧美va精品| 91丝袜国产在线播放| 中文一区二区在线观看| 久久99精品久久久久婷婷| 宅男噜噜噜66一区二区66| 亚洲最色的网站| 91丨porny丨户外露出| 久久久综合精品| 国产在线一区观看| 精品国产一区久久| 精品中文字幕一区二区小辣椒| 精品视频在线视频| 亚洲一区二区不卡免费| 日本高清不卡视频| 亚洲天堂免费在线观看视频| 成人avav影音| 中文字幕不卡在线| 成人一区二区三区| 国产女人水真多18毛片18精品视频| 国产麻豆精品在线观看| 亚洲精品一区在线观看| 精品无人码麻豆乱码1区2区| 亚洲精品在线观| 国产99久久久国产精品免费看| 久久久久久久综合色一本| 国产激情视频一区二区三区欧美| 久久久久97国产精华液好用吗|