An Empirical Study on Self-correcting Large Language Models for Data Science Code Generation