Skip to content

DS 101 Practice Center

Practice inspecting, cleaning, calculating, visualizing and verifying realistic synthetic ESG data, and turn a data question into a trustworthy analysis.

Info

DS 101 practice data are synthetic educational examples. All company names and values are illustrative and do not represent the ESG performance of any real organization. The metric definitions are simplified for learning and are not a substitute for official ESG accounting or reporting guidance.

Warning

Practice with the synthetic course files. Do not paste confidential institutional or company data, personal data or sensitive data into an AI tool without authorization, and check your organization’s policy before using real ESG or internal operational data.

Practice flow

  1. 1. Download

    Download the dataset, the data dictionary and the starter notebook into one folder.

  2. 2. Understand

    Read the analysis question and the data dictionary first: what does one row represent, and what is the unit of each number?

  3. 3. Inspect

    Check the schema, data types, missing values, duplicates and units before you calculate anything.

  4. 4. Analyze

    Transform, calculate, group and visualize, checking the input, the action and the output of every step.

  5. 5. Verify

    Check formulas, row counts and units by hand, and recalculate at least one result yourself.

  6. 6. Communicate

    Write Fact, Analysis and Unknown separately, and record the limitations.

Download the practice files

Clean ESG dataset

DS101_ESG_Company_Data_Clean.csv

Four illustrative companies, 2020 to 2025, 24 rows. Used in the Guided Lab.

Download

Practice ESG dataset

DS101_ESG_Company_Data_Practice.csv

Practice data with deliberate data-quality problems. Used in the Data Quality Challenge and the Independent Lab.

Download

Data dictionary (Traditional Chinese)

DS101_ESG_Data_Dictionary_zh-TW.csv

Type, unit, requirement and description of every column, in Traditional Chinese.

Download

Data dictionary (English)

DS101_ESG_Data_Dictionary_en.csv

Type, unit, requirement and description of every column; the same fields and units as the Chinese version.

Download

Guided Lab starter notebook

DS101_Guided_Lab_Starter.ipynb

A scaffolded starter notebook with TODO cells; runs top to bottom from a fresh kernel.

Independent Lab starter notebook

DS101_Independent_Lab_Starter.ipynb

A starter notebook with a cleaning decision log and an AI assistance record template.

Practice tasks

Practice A: Guided Lab, your first ESG data analysis

Analysis question: from 2021 to 2025, how did Scope 1 + 2 emissions and emissions intensity change across the four sample companies, and which observations require further verification?

Files used: Clean ESG dataset, Data dictionary (English), Guided Lab starter notebook

Steps

  1. Load DS101_ESG_Company_Data_Clean.csv.
  2. Inspect the shape, columns, data types and first rows.
  3. Confirm the units of revenue_m_twd, scope1_tco2e and scope2_tco2e in the data dictionary.
  4. Create scope12_tco2e = scope1_tco2e + scope2_tco2e.
  5. Create scope12_intensity = scope12_tco2e / revenue_m_twd (unit: tCO2e per NT$ million revenue).
  6. Filter the years 2021 to 2025.
  7. Pick one year and sort by intensity.
  8. Group by company while keeping the year dimension, and compare the yearly values.
  9. Record three observations.
  10. Label each observation: fact from data, interpretation, or needs verification.
  11. Write one limitation statement.

What you produce

  • A runnable notebook
  • Two derived columns
  • At least three evidence statements
  • At least one limitation
  • No causal claim the dataset cannot support

Practice B: Data Quality Challenge

The practice data contain deliberate data-quality problems. Inspect first, then decide how to handle each one. Cleaning is not about making data look tidy; every change must be explainable and traceable.

Files used: Practice ESG dataset, Data dictionary (English), Independent Lab starter notebook

Steps

  1. Load DS101_ESG_Company_Data_Practice.csv and look at the shape, dtypes and first rows.
  2. Use df.isna().sum() to find missing values, and decide what a missing value means.
  3. Use df.duplicated().sum() to check for duplicates, and use company_id and year to confirm whether a row is really repeated.
  4. Check whether numeric columns were read as text, and whether percentage columns go outside 0 to 100.
  5. Compare each company with its own neighbouring years to find outliers worth investigating.
  6. Check that text columns such as the company name are consistent (for example, stray spaces).
  7. For every problem you find, record six fields in the cleaning decision log: Issue, Evidence, Impact (what happens if it is left untreated), Treatment decision, Justification (why that treatment is reasonable), and What must remain unknown (what has to stay unknown or unchanged).

What you produce

  • Find at least: missing values, duplicates, a type issue, a range issue, a suspicious outlier and a naming inconsistency
  • A cleaning decision log where every problem has all six fields: Issue / Evidence / Impact / Treatment decision / Justification / What must remain unknown
  • Not just "how I cleaned it": the Impact and What-must-remain-unknown fields cannot be skipped
  • No missing value filled with 0, and no outlier deleted, without a documented reason

Info

This page does not tell you how many problems there are and does not publish an answer key. Bring the problems you found and your reasoning to the class discussion.

Practice C: Independent Lab, integrating trustworthy analysis

Identify one ESG trend or anomaly worth reporting. Complete the necessary data-quality checks, cleaning, metric calculation, visualization and verification, while clearly separating evidence, interpretation and unknowns.

Files used: Practice ESG dataset, Data dictionary (English), Independent Lab starter notebook

Steps

  1. 1. Question: write your analysis question in one sentence.
  2. 2. Data source: list the files you use and where they come from.
  3. 3. Grain: state what one row represents (e.g. "one company in one year").
  4. 4. Units: list the unit of every numeric column you use.
  5. 5. Cleaning decisions: run the data-quality checks, and for each problem found make a cleaning decision with a reason.
  6. 6. Analysis method: describe the method and steps you used.
  7. 7. Derived metrics: write the formula(s) you use and calculate the metric(s).
  8. 8. Visualization: create at least one chart with labelled axes and units.
  9. 9. Verification checks: verify at least one numeric result by hand, and record what checks you ran.
  10. 10. AI assistance record: if you used AI, state what it assisted with and what you verified yourself.
  11. 11. Human review: state what review you (or a peer/teacher) did on this analysis, and what it confirmed.
  12. 12. Limitations: write three evidence statements, one interpretation and at least two limitations or unknowns.
  13. 13. Reproduction instructions: write what someone else would need to reproduce your analysis from these steps.

What you produce

  • 1. Question
  • 2. Data source
  • 3. Grain
  • 4. Units
  • 5. Cleaning decisions (with reasons)
  • 6. Analysis method
  • 7. Derived metrics (formula(s) used)
  • 8. Visualization (at least one chart, with labelled axes and units)
  • 9. Verification checks (including one manually verified numeric result)
  • 10. AI assistance record (if AI was used)
  • 11. Human review
  • 12. Limitations (three evidence statements, one interpretation, at least two limitations or unknowns)
  • 13. Reproduction instructions

Info

Complete: all 13 elements are present and the claims are consistent with the evidence. Needs revision: the code runs, but units, formulas or data-quality decisions are undocumented, or the claims go beyond what the data support.

The done mark is stored in this browser only (and synced once you join a cohort). Keep your work in your own notebook.

Sync my progressJoin a session to keep progress across devices and share it with your instructor

Info

After you join, your completed lesson numbers are sent to your instructor together with your learner code, so they can see your progress. Use the codes your instructor gave you, and do not enter your name, company secrets or other personal data. Progress is kept with the rest of that session's data.

What next?