一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

再見 CSV,速度提升 150 倍!

 西北望msm66g9f 2021-09-16

為什么要和CSV再見?

大家好,我是黃同學??
來介紹下為什么要和CSV再見。其實也談不上徹底再見吧,日常還是要用的,這里再介紹一個更加高效的數(shù)據(jù)格式。
Python處理數(shù)據(jù)時保存和加載文件屬于日常操作了,尤其面對大數(shù)據(jù)量時我們一般都會保存成CSV格式,而不是Excel。一是因為Excel有最大行數(shù)1048576的限制,二是文件占用空間更大,保存和加載速度很慢。
雖然用CSV沒有行數(shù)限制,相對輕便,但是面對大數(shù)據(jù)量時還是略顯拉夸,百萬數(shù)據(jù)量儲存加載時也要等好久。。不過很多同學都借此機會抻抻懶腰、摸摸魚,充分利用時間也不錯圖片。
其實,CSV 并不是唯一的數(shù)據(jù)存儲格式。今天和大家介紹一個速度超快、更加輕量級的二進制格式保存格式:feather

Feather是什么?

Feather 是一種用于存儲數(shù)據(jù)幀的數(shù)據(jù)格式。它最初是為了 PythonR 之間快速交互而設(shè)計的,初衷很簡單,就是盡可能高效地完成數(shù)據(jù)在內(nèi)存中轉(zhuǎn)換的效率。
現(xiàn)在 Feather 也不僅限于 PythonR 了,基本每種主流的編程語言中都可以用 Feather 文件。不過,要說明下,它的數(shù)據(jù)格式并不是為長期存儲而設(shè)計的,一般的短期存儲。

如何在Python中操作Feather?

Python 中,可以通過 pandasFeather 兩種方式操作。首先需要安裝feather-format。
# pip 
pip install feather -format 

# Anaconda 
conda install -c conda-forgefeather-format
只需要上面一行安裝即可,很簡單。
我們通過一個較大的數(shù)據(jù)集舉例,需要 Feather、Numpypandas 來一起配合。數(shù)據(jù)集有 5 列和 1000 萬行隨機數(shù)。
import feather
import numpy as np
import pandas as pd

np.random.seed = 42
df_size = 10000000

df = pd.DataFrame({
    'a': np.random.rand(df_size),
    'b': np.random.rand(df_size),
    'c': np.random.rand(df_size),
    'd': np.random.rand(df_size),
    'e': np.random.rand(df_size)
})
df.head()
圖片
它的用法和之前csv的操作難度一個水平線,非常簡單。
保存
兩種方式,一是 DataFrame 直接to_featherFeather 格式:
df.to_feather('1M.feather')
二是用 Feather 庫執(zhí)行相同操作的方法:
feather.write_dataframe(df, '1M.feather')
加載
加載也是一樣的,同樣還是兩種方式。一是通過pandas加載:
df = pd.read_feather('1M.feather')
二是用 Feather 加載:
df =feather.read_dataframe('1M.feather')
操作習慣一樣,難度完全沒有。

和CSV的區(qū)別

對比產(chǎn)生美。下面來看下feathercsv的差距有多大。下圖顯示了上面本地保存 DataFrame 所需的時間:
圖片
差距巨大,有木有!原生 Feather(圖中的Native Feather)比 CSV 快了將近 150 倍左右。如果使用 pandas 處理 Feather 文件并沒有太大關(guān)系,但與 CSV 相比,速度的提高是非常顯著的。
然后再看下讀取不同格式的相同數(shù)據(jù)集需要多長時間。
圖片
同樣,差異也很明顯。CSV 的讀取速度要慢得多。并且CSV占用的磁盤空間也更大。
圖片
CSV 文件占用的空間是 Feather 文件占用的空間的兩倍多。假如我們每天存儲千兆字節(jié)的數(shù)據(jù),那么選擇正確的文件格式至關(guān)重要。Feather 在這方面完全碾壓了 CSV。
當然,如果追求更多的壓縮空間,也可以試試Parquet,也是一個可以替代CSV 的格式。

結(jié)語

說了這么多,可能很多同學還是甩出一句話:謝謝大佬,我選CSV圖片。 這個東西怎么說呢圖片,當你需要它時,它就有用,如果日常沒有速度和空間的強烈需求,還是老老實實CSV吧。CSV已經(jīng)用慣了,改變使用習慣還是挺難的。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    青草草在线视频免费视频| 91日韩欧美国产视频| 国产a天堂一区二区专区| 日本免费一本一二区三区| 亚洲天堂精品一区二区| 欧美国产日韩在线综合| 狠狠亚洲丁香综合久久| 国产免费无遮挡精品视频| 日韩和欧美的一区二区三区| 日本成人三级在线播放| 不卡免费成人日韩精品| 人妻少妇久久中文字幕久久| 日韩一区二区三区在线日| 五月综合婷婷在线伊人| 欧美日韩中国性生活视频| 亚洲中文字幕高清乱码毛片| 殴美女美女大码性淫生活在线播放 | 国产精品一区二区传媒蜜臀| 久久精品亚洲精品国产欧美| 国产肥女老熟女激情视频一区 | 亚洲欧美日本成人在线| 福利视频一区二区在线| 亚洲香艳网久久五月婷婷| 国产乱久久亚洲国产精品| 午夜精品一区二区三区国产| 五月天丁香婷婷一区二区| 美国女大兵激情豪放视频播放| 亚洲中文字幕在线乱码av| 亚洲视频偷拍福利来袭| 国产亚洲精品香蕉视频播放| 国产又粗又猛又大爽又黄| 亚洲美女国产精品久久| 国产精品尹人香蕉综合网 | 欧美一区二区三区十区| 少妇激情在线免费观看| 男人和女人干逼的视频| 国产精品九九九一区二区 | 欧美精品在线播放一区二区| 亚洲精品av少妇在线观看| 色婷婷人妻av毛片一区二区三区 | 国产专区亚洲专区久久|