久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

再見 CSV,速度提升 150 倍,!

 西北望msm66g9f 2021-09-16

為什么要和CSV再見,?

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

和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,。
當(dāng)然,,如果追求更多的壓縮空間,,也可以試試Parquet,,也是一個可以替代CSV 的格式。

結(jié)語

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多