メモリ使用量の削減

投稿者: | 2021-12-28

目次

正確なメモリ使用量を表示させる

  • object型が含まれる場合、メモリ使用量は正確に表示されない
  • df.info()またはdf.memory_usage()にオプションを付与すれば表示可能

df.info(memory_usage=’deep’)

df.info(memory_usage='deep')

df.memory_usage(deep=True)

# 使用量の単位をバイトからMBへ 
df_memory_usage(deep=True) / 1000**2

# メモリ使用量の合計
 (df_memory_usage(deep=True) / 1000**2).sum()

メモリ使用量を削減する

  • 特定の型が含まれる数を調べ:df.select_dtypes(include=[‘型’]).nunique()
  • そこまで数が多くなければ「カテゴリ型(category)」に変換する
# OBJ型のユニーク数を調べる
df.select_dtypes(include=['object']).nunique()

# その列をカテゴリ型に変換する
for col_name in df.select_dtypes(include=['object']:
  df[col_name] = df[col_name].astype('category')