Pandas Memory Optimization

Which techniques can reduce a pandas DataFrame's memory footprint?

A

Always use object dtype for strings

B

Convert int64 to int32 or int16 when possible

C

Use categorical dtype for low-cardinality strings

D

Use sparse data structures for mostly-zero data