Title: Quiz 10 — Jupyter & the Data-Science Stack (NumPy & pandas)
Course: AIINFRA 100: AI Systems & Development Environments > Section: Week 10 — Jupyter & the Data-Science Stack: NumPy & pandas

Q: Google Colab, JupyterLab, and Jupyter Notebook all read and write which shared file format?
- `.py`
- `.ipynb`
- `.csv`
- `.json`
A: `.ipynb`

Q: What notebook habit lets you confirm a notebook is actually reproducible top-to-bottom, rather than just visually tidy?
Feedback: Sample/expected answer: Restart & Run All (restarting the kernel and running every cell in order).

Q: Because a notebook's cells appear top-to-bottom, seeing output under each cell guarantees the notebook would produce that same output if run in order.
- True
- False
A: False

Q: What is NumPy's core data object called?
- DataFrame
- Series
- ndarray
- list
A: ndarray

Q: A NumPy array can hold elements of mixed data types, just like a Python list.
- True
- False
A: False

Q: What is the term for NumPy's rule set that allows operations across arrays of different but compatible shapes without writing explicit loops?
Feedback: Sample/expected answer: Broadcasting

Q: Which pandas method fills in missing values with a chosen value, such as a column's mean?
- `.dropna()`
- `.isna()`
- `.fillna()`
- `.describe()`
A: `.fillna()`

Q: Why is a Python for loop that processes a DataFrame row-by-row typically much slower than an equivalent vectorized operation?
Feedback: Sample/expected answer: Because vectorized operations run in fast, compiled C code under the hood, while a Python-level loop re-enters the slower interpreted Python runtime on every iteration.