A hands-on, beginner-friendly repository for learning Python, Data Analysis, and Machine Learning through well-documented, practical Jupyter notebooks.
This repository serves as a learning journey through the entire data science pipeline, starting from Python basics and advancing through data analysis, visualization, and machine learning.
Each folder focuses on a different stage of the learning process β containing clear, structured notebooks with step-by-step explanations, visual examples, and practice datasets.
Whether you're a beginner exploring Python, a student learning data analysis, or a self-learner aiming to master machine learning, this repo is your open notebook to follow along, experiment, and grow.
Learn programming fundamentals essential for any data scientist.
- Variables, data types, and operators
- Control flow, loops, and functions
- String and dictionary manipulation
- Basic OOP concepts
π Folder: python/
π Example notebooks: python 101.ipynb, Python 102.ipynb, String manipulation.ipynb
Master data cleaning, exploration, and transformation.
- Working with DataFrames and Series
- Data loading and inspection
- Missing values and outlier handling
- Grouping, aggregation, and pivot tables
- Data wrangling and reshaping (wide β long)
π Folder: pandas/
π Example notebooks: Pandas 101.ipynb, data manipulation.ipynb
Learn to communicate insights effectively with visuals.
- Static plots with Matplotlib
- Aesthetic and statistical plots with Seaborn
- Annotating and customizing charts
- Combining visuals for storytelling
π Folders:
matplotlib/βmatplotlib 101.ipynbseaborn/βseaborn 101.ipynb
Build predictive models and understand how machines learn from data.
Includes beginner-friendly notebooks covering:
- Data preprocessing and pipelines
- Linear regression from scratch
- Decision Trees and Ensemble Models
- Neural Networks, CNNs, and RNNs
- MNIST digit classification
- Text generation with RNNs
π Folder: Machine Learning/
π Example notebooks:
Intro_to_Neural_networks.ipynb, Decision Trees.ipynb, intro_to_CNNs.ipynb, Intro_to_RNNs.ipynb
- Python 3.8+
- Jupyter Notebook or JupyterLab
- Basic familiarity with programming
# Clone the repository
git clone https://github.com/Kibet-Rotich/data-science-learning.git
cd "DS Learning"
# (Optional) Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Launch Jupyter Notebook
jupyter notebookDS Learning/
β
βββ python/ # Python fundamentals
β βββ python 101.ipynb
β βββ Python 102.ipynb
β βββ String manipulation.ipynb
β βββ Dictionaries.ipynb
β
βββ pandas/ # Data analysis with Pandas
β βββ Pandas 101.ipynb
β βββ data manipulation.ipynb
β βββ purchases.csv
β βββ purchases 2.csv
β
βββ matplotlib/ # Data visualization with Matplotlib
β βββ matplotlib 101.ipynb
β
βββ seaborn/ # Visualization with Seaborn
β βββ seaborn 101.ipynb
β
βββ Machine Learning/ # Machine learning notebooks
β βββ ML_Pipeline.ipynb
β βββ Decision Trees.ipynb
β βββ Ensemble_learning.ipynb
β βββ Intro_to_Neural_networks.ipynb
β βββ intro_to_CNNs.ipynb
β βββ Intro_to_RNNs.ipynb
β βββ MNIST project.ipynb
β
βββ requirements.txt
βββ README.md
- Start from the Python folder
- Progress through Pandas β Visualization β Machine Learning
- Run each cell, read the comments, and experiment with your own data
- Use these notebooks as classroom materials or lab guides
- Assign exercises or project sections for students
- Integrate into workshops or bootcamps
- Learn collaboratively through discussions
- Recreate visualizations or models together
- Share insights and practical projects
Contributions are welcome!
You can:
- Add new tutorials or examples
- Improve explanations or comments
- Suggest new datasets or topics
- Fix typos and enhance documentation
- Fork this repository
- Create a branch (
git checkout -b feature/add-topic) - Commit changes (
git commit -m "Added linear regression notebook") - Push and open a Pull Request
Licensed under the MIT License β free to use, modify, and share.
Have ideas or suggestions? Reach out!
π§ Email: asbelkibetrotich@gmail.com
π Connect on LinkedIn
β¨ Happy Learning, One Notebook at a Time! β¨
If you found this repository helpful, don't forget to β star it!