Most AI coding assistant reviews test the same thing: write a function, fix a bug, build a CRUD app. Data science work looks nothing like that — it's Jupyter cells, half-built DataFrames, and pandas chains nobody wants to retype. So we spent four weeks running Cursor , GitHub Copilot , Windsurf , Tabnine , and Claude Code through exploratory data analysis, feature engineering, model training, and the ETL glue code that nobody writes a blog post about.
The notebook test that separated the field
The clearest gap: Copilot reads the whole notebook's state , not just the current cell. Load a CSV, run df.head() , and its next suggestions — null checks, descriptive stats, distribution plots for the numeric columns it already saw — line up with what you actually loaded.…