Processing large NumPy arrays with memory mapping