Python By Sophie

Pandas 記憶體優化:處理大型 CSV 的技巧

讓小 RAM 也能跑大數據

使用 Pandas 讀取大型 CSV (如數百 MB 或 GB 級別的股價歷史資料) 時,常遇到 Memory Error。

優化策略

  1. 指定 dtype:Pandas 預設將數字讀為 int64float64。若數據範圍不大,可在 read_csv 時指定 dtype={'volume': 'int32', 'price': 'float32'},記憶體佔用直接減半。
  2. Category 類型:對於重複性高的字串欄位 (如股票代號、產業類別),轉換為 category 類型 (df['sector'] = df['sector'].astype('category')),能節省大量空間並加速 GroupBy 運算。
  3. Chunksize:若資料真的大到塞不進 RAM,使用 chunksize 參數分批讀取處理,最後再彙總結果,這是處理 Big Data 的標準起手式。