A practical, beginner-friendly, and hands-on course project for learning Data Analysis with Python using Pandas, NumPy, SQL Server connectivity, and modern Python project setup with uv.
This repository contains Jupyter notebooks covering the most important Python and Pandas concepts required for real-world data analysis.
All video explanations are available in this playlist:
This project includes practical Jupyter notebooks on the following topics.
- Introduction to Series in Pandas
- Create DataFrame using Python built-in data structures
- Inspect a dataset using Pandas
- Data types in Pandas
- Convert data types in Pandas
- Index in Pandas DataFrame
- Reading CSV files in Pandas
- Reading Excel files in Pandas
- Connect and read SQL Server data using Pandas
- How to efficiently subset a Pandas DataFrame
- Filter a Pandas DataFrame using a single condition
- Filter a Pandas DataFrame using multiple conditions
- Filter a Pandas DataFrame using the
locmethod - Efficient DataFrame filtering
- Sort a Pandas DataFrame
- Axis in Pandas DataFrame
- Create new variables in Pandas DataFrame
- Use the
assign()method effectively in Pandas - Conditional variable creation using
np.where()andnp.select() - Map function in Pandas
- Apply function in Pandas
- ApplyMap function in Pandas
- String methods in Pandas
- Arithmetic functions in Pandas
- Date functions in Pandas
- Aggregate functions in Pandas
- Groupby function in Pandas
- Pivot table in Pandas
- Crosstab in Pandas
- Transform data from wide to long format using Pandas
melt() - Combine multiple DataFrames using Pandas
concat() - Joining DataFrames using Pandas
merge()
- Binning in Pandas
- Fix duplicate rows in Pandas
This project uses the following tools and technologies:
- Python
- Pandas
- NumPy
- Jupyter Notebook
- SQL Server
- pyodbc
- SQLAlchemy
- uv Python package manager
- VS Code / DataSpell / JupyterLab
This project uses uv as the Python package manager.
uv is a modern and fast Python package and environment manager. It helps you create virtual environments, install dependencies, and run Python commands in a clean and reproducible way.
Using uv makes the project easier to clone, set up, and run on another machine.
Follow these steps after cloning the repository.
git clone <your-repository-url>Move into the project folder:
cd <your-project-folder>If uv is not already installed, install it first.
For Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Check whether uv is installed:
uv --versionIf the project contains a pyproject.toml file and uv.lock file, run:
uv syncThis command will:
- Create a
.venvvirtual environment if it does not already exist - Install all required project dependencies
- Use the locked dependency versions from
uv.lock - Make the project environment consistent across machines
On Windows PowerShell:
.venv\Scripts\Activate.ps1On macOS/Linux:
source .venv/bin/activateAfter activation, you should see something like this in the terminal:
(.venv)If Jupyter and ipykernel are not already installed, run:
uv add --dev jupyter ipykernelThen register the virtual environment as a Jupyter kernel:
uv run python -m ipykernel install --user --name=data-analysis-python --display-name "Python (.venv)"When you open a notebook, select this kernel:
Python (.venv)
uv syncuv add pandasuv add --dev jupyteruv run pythonuv run python script.pyuv pip listuv add openpyxl xlrduv add pyodbc sqlalchemyThis course is useful for:
- Beginners learning Python for data analysis
- Data analysts moving from Excel or SQL to Python
- Business analysts who want to learn Pandas
- Students learning practical data analysis
- Professionals preparing for analytics interviews
- Anyone building a strong foundation in Python-based analytics
After completing this course, you will be able to:
- Create and manipulate Pandas Series and DataFrames
- Read data from CSV, Excel, and SQL Server
- Inspect and understand datasets
- Understand and convert data types
- Work with DataFrame indexes
- Filter, subset, and sort data
- Create new variables using multiple techniques
- Use
np.where()andnp.select()for conditional logic - Use
map(),apply(), andapplymap() - Work with string methods in Pandas
- Work with date functions in Pandas
- Perform arithmetic and aggregate operations
- Summarize data using groupby, pivot tables, and crosstab
- Reshape data from wide to long format
- Combine datasets using concat
- Join datasets using merge
- Create bins and categories
- Identify and fix duplicate rows
- Use uv to manage Python environments and dependencies
Follow the notebooks in sequence.
- Start with Pandas Series and DataFrame basics
- Learn how to read data from CSV, Excel, and SQL Server
- Practice inspecting datasets
- Understand and convert data types
- Learn indexing, filtering, sorting, and subsetting
- Create new variables and apply transformations
- Work with string, date, arithmetic, and aggregate functions
- Summarize data using groupby, pivot table, and crosstab
- Reshape data using melt
- Combine and join multiple datasets
- Learn data cleaning topics like binning and duplicate handling
To open Jupyter Notebook:
uv run jupyter notebookTo open JupyterLab:
uv run jupyter labYou can also open the project in VS Code or DataSpell and select the Python (.venv) kernel.
This project is part of the Analytics School learning series.
The goal of this project is to make Python, Pandas, SQL, and data analysis concepts easy to understand through practical examples and hands-on notebooks.
If you find this project helpful:
- Watch the YouTube playlist
- Practice each notebook
- Star the repository
- Share it with other learners
This project is for educational purposes. You may use and modify the notebooks for learning and practice.