最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀取大型csv文件的操作方法(降低內(nèi)存占用)

 更新時間:2024年03月13日 11:53:33   作者:jieshenai  
遇到大型的csv文件時,pandas會把該文件全部加載進(jìn)內(nèi)存,從而導(dǎo)致程序運(yùn)行速度變慢,本文提供了批量讀取csv文件、讀取屬性列的方法,減輕內(nèi)存占用情況,文中有詳細(xì)的代碼示例,需要的朋友可以參考下

簡介

遇到大型的csv文件時,pandas會把該文件全部加載進(jìn)內(nèi)存,從而導(dǎo)致程序運(yùn)行速度變慢。
本文提供了批量讀取csv文件、讀取屬性列的方法,減輕內(nèi)存占用情況。

import pandas as pd

input_file = 'data.csv'

讀取前多少行

加載前100000行數(shù)據(jù)

df = pd.read_csv(input_file, nrows=1e5)
df

查看每個字段占用的系統(tǒng)內(nèi)存的情況

df.info(memory_usage='deep')

設(shè)置 memory_usage 的參數(shù)為 ‘deep’ 時,深度檢查對象中的內(nèi)存使用情況,包括對象中可能包含的其他對象(如列表、數(shù)組或其他數(shù)據(jù)結(jié)構(gòu))。若不設(shè)置deep參數(shù),memory_usage 只會返回一個對象的基礎(chǔ)內(nèi)存使用情況,這主要基于對象本身的內(nèi)存占用,而不考慮它可能引用的其他對象。

在這里插入圖片描述

如上圖所示,前100000行數(shù)據(jù)共占用220.MB內(nèi)存。

查看每列屬性的內(nèi)存占用情況;

item = df.memory_usage(deep=True)

在這里插入圖片描述

針對每個屬性列的字節(jié)數(shù)進(jìn)行求和,使用/ (1024 ** 2),實(shí)現(xiàn)1B到1MB的單位轉(zhuǎn)換。驗證了所有屬性列的內(nèi)存占用確實(shí)為 220.8MB。

在這里插入圖片描述

內(nèi)存占用從高到低降序排列:

df.memory_usage(deep=True).sort_values(ascending=False)

在這里插入圖片描述

讀取屬性列

可能我們只關(guān)心, 一整張表中的某幾個屬性,比如:'企業(yè)名稱', '經(jīng)營范圍'。那么便無需把整張表加載進(jìn)內(nèi)存。

df2 = pd.read_csv(input_file, nrows=1e5, usecols=['企業(yè)名稱', '經(jīng)營范圍'])

查看一下內(nèi)存占用

df2.memory_usage(deep=True).sum() / (1024 ** 2)

在這里插入圖片描述

只讀取兩個屬性列,內(nèi)存占用只有33MB。

逐塊讀取整個文件

pd.read_csv(input_file, chunksize=1e3, nrows=1e5)

  • nrows=1e5: 讀取100000條數(shù)據(jù);
  • chunksize=1e3: 每一塊是1000條數(shù)據(jù);

1e5條數(shù)據(jù),應(yīng)該由100塊1e3的數(shù)據(jù)組成;

# 分批次讀取, 每chunksize是一個批次
chunk_dfs = pd.read_csv(input_file, chunksize=1e3, nrows=1e5)

v = 0
cnt = 0
# 每個chunk_df 都是 dataframe 類型數(shù)據(jù)
for chunk_df in chunk_dfs:
    print(chunk_df.shape)
    cnt += 1
    v += chunk_df.shape[0]
print(v, cnt)

在這里插入圖片描述

上圖驗證了,總共處理了1e5條數(shù)據(jù),分成了100塊進(jìn)行讀取。

總結(jié)

pd.read_csv(input_file, nrows, usecols, chunksize)
  • nrows: 讀取多少行數(shù)據(jù);
  • usecols: 讀取哪些屬性列的數(shù)據(jù);
  • chunksize:分塊讀取,每一塊的大小是多少條數(shù)據(jù);

到此這篇關(guān)于python讀取大型csv文件的操作方法(降低內(nèi)存占用)的文章就介紹到這了,更多相關(guān)python讀取大型csv文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中pandas nlargest()的詳細(xì)用法小結(jié)

    python中pandas nlargest()的詳細(xì)用法小結(jié)

    df.nlargest()是一個DataFrame的方法,用于返回DataFrame中最大的n個值所在的行,通過調(diào)用nlargest()方法,我們返回了分?jǐn)?shù)最高的三個行,并按照降序排列,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-10-10
  • 解決pandas報錯'DataFrame' object has no attribute 'as_matrix'問題

    解決pandas報錯'DataFrame' object has no

    這篇文章主要介紹了解決pandas報錯'DataFrame' object has no attribute 'as_matrix'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python_mask_array的用法

    python_mask_array的用法

    今天小編就為大家分享一篇python_mask_array的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 詳細(xì)介紹Python語言中的按位運(yùn)算符

    詳細(xì)介紹Python語言中的按位運(yùn)算符

    這篇文章主要介紹了Python語言中的按位運(yùn)算符,有需要的朋友可以參考一下
    2013-11-11
  • python實(shí)現(xiàn)掃雷游戲

    python實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 排序算法之希爾排序法解析

    排序算法之希爾排序法解析

    這篇文章主要介紹了排序算法之希爾排序法解析,希爾排序法(Shell Sort),也稱為縮小增量排序,是一種改進(jìn)的插入排序算法,它通過將待排序的元素按照一定的間隔分組,對每個分組進(jìn)行插入排序,逐漸減小間隔直至為1,最后對整個序列進(jìn)行一次插入排序
    2023-07-07
  • Python面向?qū)ο蟪绦蛟O(shè)計示例小結(jié)

    Python面向?qū)ο蟪绦蛟O(shè)計示例小結(jié)

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計,結(jié)合實(shí)例形式總結(jié)分析了Python面向?qū)ο蟪绦蛟O(shè)計中比較常見的類定義、實(shí)例化、繼承、私有變量等相關(guān)使用技巧與操作注意事項,需要的朋友可以參考下
    2019-01-01
  • Python操作mongodb數(shù)據(jù)庫的方法詳解

    Python操作mongodb數(shù)據(jù)庫的方法詳解

    這篇文章主要介紹了Python操作mongodb數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python下載、安裝pymongo及操作MongoDB數(shù)據(jù)庫相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-12-12
  • 什么是python的必選參數(shù)

    什么是python的必選參數(shù)

    在本篇文章里小編給大家分享的是一篇關(guān)于python必選參數(shù)是什么意思的相關(guān)知識點(diǎn),需要的朋友們可以參考下。
    2020-06-06
  • Python中如何給字典設(shè)置默認(rèn)值

    Python中如何給字典設(shè)置默認(rèn)值

    這篇文章主要介紹了Python中如何給字典設(shè)置默認(rèn)值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

吴江市| 元氏县| 姜堰市| 山西省| 崇州市| 游戏| 江都市| 宁化县| 文成县| 永年县| 长岭县| 盐山县| 西吉县| 石嘴山市| 库伦旗| 堆龙德庆县| 明溪县| 朝阳市| 玉龙| 蓬溪县| 遂昌县| 伊吾县| 肥城市| 含山县| 湾仔区| 同心县| 商河县| 普兰县| 寿阳县| 从化市| 丰镇市| 平和县| 中超| 水城县| 乌兰浩特市| 晴隆县| 无锡市| 嘉祥县| 新兴县| 友谊县| 敦化市|