The Life Starter
0 of 6 complete0%
Course Library · Lesson 3 of 6
Digital · Guided lesson

Make cleaning explicit in code

About 31 minutes · 6 reading + 25 practice and checks
Time includes reading, practice, and questions. Extra videos or further study are optional.
See this course’s project requirements

An executable notebook and script that regenerate checked attendance totals, with raw data, an exclusion log, a data dictionary and a controlled rerun.

Keep your working files in your own notebook or software. Save a private description, checklist, and work link in My Proof.

What to include

  • Question and inclusion rules.
  • Preserved input and four-field dictionary.
  • Executable analysis with exclusion reasons.
  • Checked site/total reconciliation and interpretation.
  • Clean-session baseline, correction test and complete handoff.

Review and revise

Use these criteria to check your work and choose what to improve.

  • The stated metric matches the code.
  • Exclusions and guards are explicit.
  • Clean runs reproduce expected totals.
  • The package contains enough information to rerun and interpret it.
Open the full course project
Want more background?
Before you begin

The idea in everyday life

Rebuild a fictional attendance result from preserved data and executable steps.

The idea

Cleaning is a sequence of decisions that should be visible and rerunnable.

Follow along

Make cleaning explicit in code — guided practice

Record exclusion reasons and reject unexpected values.

Use free local JupyterLab with a Python 3 kernel, or an equivalent notebook environment that can read uploaded local files. Put analysis.ipynb and attendance.csv in the same new practice folder; no extra Python packages are used by the analysis. The CSV rows are S1 north 8 held; S2 south 6 held; S3 north blank held; S4 south 0 canceled; S5 north 7 held; S6 south 5 held; S7 north 4 held; S8 south 9 held. The supplied analyze.py runs the same calculation with Python from this folder. Use only these fictional records.

  1. 1. Read the branch order

    Locate canceled handling before blank-count handling.

    You should see: S4 is excluded as canceled; S3 as missing attendance.

    Distinct reasons describe why each row was omitted.

  2. 2. Run the notebook cell

    Execute the code cell with the supplied input.

    You should see: Raw=8, included=6, excluded=2, total=39.

    The program applies the written rules to the exact fixture.

  3. 3. Inspect exclusions

    Open output/result.json and read the excluded entries.

    You should see: S3 missing attendance; S4 canceled.

    A trace makes data loss visible.

  4. 4. Try a bad value

    In a temporary copy replace S1 count 8 with -1, run, observe ValueError, then restore 8.

    You should see: The unexpected negative count is rejected rather than silently used.

    A failed run is useful evidence that a guard catches invalid input.

Now change one thing

Included counts are 4,7,3 and 6. Enter their total.

Your work

What to finish

An executed baseline and exclusion audit.

Common mistake

Watch for this

Discarding every difficult row silently until the analysis runs.

How can I tell I understand it?

Complete the changed case, explain your result, and pass the three application checks.

Try 3 questions

Quick knowledge check

Answer all 3 questions. Get at least 2 right and the lesson completes automatically.

Not yet passed

You’ll get an explanation for each answer. Signed in? Your results save to your account.

1Cleaning drops three rows without recording why. What should be improved?
2A count expected to be nonnegative contains -2. What should the supplied guard do?
3A duplicate session ID appears with different counts. Why should the analysis stop?
0 of 3 answeredApply the lesson to a short question, then review the explanation.
3
Finish this lesson

Pass the check. We’ll save the progress.

Answer all 3 questions above and get at least 2 right. You can review the explanations and try again.

Go to the knowledge check
Optional course overview video · same video as Lesson 1
Corey SchaferJupyter Notebook Tutorial: Introduction, Setup, and WalkthroughYouTube
Optional course overview

Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough

From Corey Schafer. Watch here or open it on YouTube .

Optional course overview. Follow the written steps below at your own pace.
Tools, templates, and lesson sources

Tools and templates

Tools open in a new tab so you can keep your place here.

Sources and further reading

Explore the references behind this lesson.

Reproducible Science Curriculum: Modifying data
Source & access notes · checked 2026-09-12

Opened and inspected on 2026-09-12: Preserving raw data and recording transformations.

Access: Free public web page; no paid enrollment required.

Reuse: The linked curriculum license page identifies instructional material as CC BY 4.0. Link only; LifeStarter data, code and explanations are independently authored.

JupyterLab: Notebooks
Source & access notes · checked 2026-09-12

Opened and inspected on 2026-09-12: Code, Markdown and notebook execution.

Access: Free public web page; no paid enrollment required.

Reuse: Public reference; link only. LifeStarter prose, exercises and files are independently authored.

Report a problem with this lesson

Tell us what went wrong. Please leave out personal information and private project contents.

No sign-in needed.