Beginner: data foundations · Python for data · topic 1 of 62 · 25 min
What data science is, and how this course works
Explanation
Why data science exists
Every shop, hospital, bank and app collects data: bills, visits, payments, clicks. On its own, that pile of data does not help anyone. Data science is the work of turning data into answers that help someone decide what to do. "Which items should the kirana shop stock more of before Diwali?" is a question. The sales register is the data. The answer, with evidence, is what data science produces.
The data workflow
Most data projects follow the same six steps. Real projects loop back often: exploring the data usually shows a cleaning problem you missed, and the answer usually raises a new question.
- Question: write down exactly what you want to know and which decision it will help. A good question is specific and measurable.
- Collect: find or gather the data that can answer it: a sales register, a spreadsheet, a database, a government data portal, a survey.
- Clean: fix the mess. Remove duplicate rows, fill or drop blank values, make "Pune", "pune " and "PUNE" the same city, turn text like "₹1,250" into the number 1250.
- Explore: count, total, average and chart the data to understand it. Most useful answers are found in this step.
- Model: when the question needs a prediction ("how many packets of milk will sell tomorrow?"), build a machine learning model. Many questions never need this step.
- Communicate: explain the answer with a short summary and a clear chart, including how sure you are and what the data cannot tell you.
Who does what
Job titles overlap and differ between companies, but this is the usual split. Module 12 covers careers, skills and salaries in detail.
| Role | Main work | Main tools |
|---|---|---|
| Data analyst | Answers business questions with reports and dashboards | SQL, Excel, Python (pandas), Power BI or Tableau |
| Data scientist | Finds patterns, runs experiments, builds models | Python, statistics, scikit-learn, SQL |
| ML engineer | Puts models into real products and keeps them working | Python, cloud, Docker, MLOps tools |
| AI engineer | Builds apps on top of large language models (LLMs) | Python, LLM APIs, embeddings, RAG |
Structured and unstructured data
Structured data fits neatly in a table: every row is one record (one sale, one patient) and every column is one property (date, amount, city). Spreadsheets and SQL databases hold structured data. Unstructured data has no fixed table shape: customer reviews, WhatsApp messages, photos of bills, call recordings. In between sits semi-structured data such as JSON, which has labels but not a fixed table shape. This course starts with structured data, and Modules 9 and 10 show how neural networks and language models handle text and images.
How this course works
The course has 12 modules in three levels. At about 1 hour a day, five days a week, it takes about 20 weeks.
- Weeks 1–7, Beginner (Modules 1–4): Python for data, statistics, probability, and cleaning, exploring and charting data.
- Weeks 8–14, Intermediate (Modules 5–8): the machine learning workflow, regression and classification, evaluating models, trees and ensembles, clustering and feature engineering.
- Weeks 15–20, Expert (Modules 9–12): neural networks, NLP and large language models, building with generative AI, MLOps, ethics and careers.
The tools
Python is the main language of data work because it is easy to read and has excellent free libraries. A library is a package of ready-made code you import. Jupyter is a notebook: a page where you run code in small cells and see results, tables and charts right below each cell. pandas works with tables, NumPy does fast maths on arrays of numbers, matplotlib draws charts and scikit-learn builds machine learning models.
Here is the plan for practice. The coding tasks in this course run in your browser using only Python's built-in standard library, so you learn what the big libraries do underneath. The library versions are shown next to them, with their output, so you will recognise them at work.
sales = [120, 450, 80, 300, 950] # one day's bills at a kirana shop, in rupees
print(sum(sales)) # total
print(len(sales)) # number of bills
print(sum(sales) / len(sales)) # average bill
print(max(sales)) # biggest billimport pandas as pd
df = pd.DataFrame({"item": ["milk", "bread", "rice"], "amount": [120, 45, 300]})
print(df["amount"].sum()) # 465Common mistakes
- Starting with the data instead of a question. Fix: write the question and the decision it supports in one sentence before you open any file.
- Asking a vague question such as "analyse the sales". Fix: make it measurable: "Which 5 items earned the most in October, and did that change from September?"
- Skipping cleaning. Fix: always count blanks, duplicates and strange values before you calculate anything.
- Hiding uncertainty. Fix: say how much data you used and what it cannot show, for example "only 3 weeks of data, so festival weeks are not included".
Need help?
Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.
Try:
Watch the lesson
What data science is, and how this course works · 1/8
Welcome to data science. In this first lesson you will see what data science really is, and how this course will take you from zero to building models and AI apps.
Prefer a video by a teacher? Find free videos on “what is data science explained for beginners workflow” on YouTube ↗
In real life: Late deliveries on a food delivery app
A food delivery company such as Swiggy or Zomato wants fewer late orders. The analyst first frames a clear question: "In which areas and at which hours are orders most often late by more than 10 minutes?" She collects order records (order time, promised time, delivered time, area, weather), cleans them (removes test orders, fixes missing delivery times), explores them by counting late orders per area and hour, and finds that rainy evenings in a few areas are the worst. Only then might the team build a model to predict lateness. She communicates the answer with one chart and three bullet points, and the operations team adds riders in those areas on rainy evenings.
late_minutes = [0, 12, 3, 25, 0, 15, 8] # how late 7 orders were
late_orders = [m for m in late_minutes if m > 10]
print(len(late_orders), "of", len(late_minutes), "orders were more than 10 minutes late")Practice (0/3 done)
A kirana shop owner in your area says: "I want to use my sales data." Turn this into one clear data question. Write the question, the decision it helps, the data you need (columns), and one thing that could go wrong with the data.
Write a function total_sales(sales) that takes a list of bill amounts in rupees and returns their total. An empty list should give 0. Example: total_sales([120, 450, 80]) returns 650.
Which of these is unstructured data?
Quick quiz
Read more (free)
Related help
Related topics
- Python essentials for data: records, lists and dictionariesPython for data · same module
- Reading CSV and JSON with the standard libraryPython for data · same module
- Counting and grouping: collections and statisticsPython for data · same module
- Capstone: an end-to-end projectEthics, privacy and careers
- The ML workflow end to endThe ML workflow, regression and classification
- Career paths: analyst, scientist, ML engineer, AI engineerEthics, privacy and careers
Questions people ask about this
Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.
What is the right first step of a data project?
Answer: Write a clear question and the decision it helps
Everything else depends on the question. Without it you do not know which data to collect or what "done" means.
In real data jobs, which steps usually take most of the time?
Answer: Asking the question, cleaning and exploring the data
Cleaning and exploring real, messy data takes most of the effort; many questions are answered before any model is built.
A JSON response from a payment app has labels like "amount" and "status" but no fixed table shape. What kind of data is it?
Answer: Semi-structured
JSON has labelled fields (so it is not unstructured) but no fixed rows and columns (so it is not a strict table).
Who usually puts a trained model into a live product and keeps it running?
Answer: An ML engineer
ML engineers focus on deploying, scaling and monitoring models in real products.
What is Jupyter mainly used for?
Answer: Running code in small cells and seeing results and charts below each cell
A Jupyter notebook mixes code, results, charts and notes on one page, which suits exploring data.
Which capstone question is best scoped?Related
Answer: "Flag delivery orders likely to be late 30 minutes early, for one city, using 3 months of data"
Specific, useful and finishable.
In scikit-learn, which method learns from training data?Related
Which role builds the pipelines that move and clean data into warehouses?Related
Answer: Data engineer
Data engineers build and maintain data pipelines.
From Career paths: analyst, scientist, ML engineer, AI engineer
Why end each revision week with a mini-project?Related
Answer: It combines the week's topics into something working you can show
Building ties the ideas together.
Pass the quiz (60% or more) or mark this topic as done when you are ready.
Your progress is saved on this device only.
Next steps
- 4 more topics in “Python for data” before its exam: Python essentials for data: records, lists and dictionaries, Reading CSV and JSON with the standard library, Counting and grouping: collections and statistics, Writing data code that others can trust.
- Module 1 exam: Python for data · 14 questions · 20 min, without help. 5 topics of this module still to finish first.
- Then the next module, Statistics made simple. 62 topics left in the course before the final exam.