爱意满满的作品展示区。
YUX

写了一个优化 pandas 内存的工具

  •  2
     
  •   YUX ·
    PRO
    ·
    YUX · May 4, 2020 · 3005 views
    This topic created in 2208 days ago, the information mentioned may be changed or developed.

    pandas 爆内存主要是两个原因

    • 默认 int64, float64
    • object 类型经常有太多重复项

    针对这两点都做了优化, int 、float 转化为合适都类型, object 如果重复项太多就转化为 category

    用法很简单

    import fast_csv as fc
    data = fc.read_csv('$PATH/$FILE.csv')
    

    一般来讲 (我最近用的几个 kaggle 的 data),能减少 50%内存,有时能减少 90%以上. 没有什么副作用,和一般直接用pandas读 csv 是一样的,都是 pandas.DataFrame

    开源在 https://github.com/YUX-IO/fast_csv

    安装 pip install fast_csv

    4 replies    2020-05-04 22:17:25 +08:00
    lithiumii
        1
    lithiumii  
       May 4, 2020 via Android
    kaggle
    nzd
        2
    nzd  
       May 4, 2020
    这个有点厉害,学习了
    dlsflh
        3
    dlsflh  
       May 4, 2020 via Android   ❤️ 1
    等我上班后就实测对大量的工业传感器数据的优化效果。
    ipwx
        4
    ipwx  
       May 4, 2020   ❤️ 1
    。。。你需要的是在调用 pd.read_csv 的时候手动指定 dtype={...},然后 engine='C'
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3982 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 05:12 · PVG 13:12 · LAX 22:12 · JFK 01:12
    ♥ Do have faith in what you're doing.