Skip to content

psanogo/Introduction-to-Data-Science-in-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Data Science in Python

Welcome! This repository contains a collection of assignments, projects, and code snippets from the "Introduction to Data Science in Python" course. The goal is to provide a practical, hands-on portfolio of work demonstrating core data science concepts and Python programming skills.

📖 Description

This repository covers a range of fundamental topics essential for any aspiring data scientist. The projects focus on data manipulation, analysis, database interaction, and algorithmic thinking.

Key Libraries & Concepts

  • Data Manipulation: Using pandas and numpy for cleaning, transforming, and analyzing datasets.
  • Text Processing: Leveraging regular expressions (re) for parsing and extracting information from unstructured text.
  • Database Interaction: Using sqlite3 to create, populate, and query relational databases from Python.
  • Algorithmic Problem Solving: Applying logic to solve challenges and work with external modules.
  • Data Ingestion: Reading and parsing data from various formats like JSON.

🚀 Projects Included

Here are some of the key assignments you can find in this repository:

1. Regex Log and Grade Parser

  • Description: A set of functions that use regular expressions to parse names from a string, extract students with a specific grade from a text file, and convert a web log file into a structured list of dictionaries.
  • Concepts: Regular Expressions (re), file I/O, list comprehensions, string manipulation.

2. JSON to SQLite Roster Database

  • Description: A Python script that reads student roster data from a JSON file, creates a normalized database schema (User, Course, Member), and populates the tables. This demonstrates a complete data ingestion and storage pipeline.
  • Concepts: sqlite3 for database management, json for data parsing, relational database design (many-to-many relationships), SQL JOINs.

3. WordyPy Game Solver

  • Description: An intelligent solver for a Wordle-like game. The script reads the game state from an image, filters a word list based on game rules and feedback, and makes a strategic next guess.
  • Concepts: Algorithmic thinking, working with external libraries (PIL), data filtering, and robust programming with fallback logic.

⚙️ Getting Started

Prerequisites

Make sure you have Python 3 installed on your system.

python --version

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/your-username/Introduction-to-Data-Science-in-Python.git
    cd Introduction-to-Data-Science-in-Python
  2. It's highly recommended to use a virtual environment to manage dependencies for each project.

    # Create a virtual environment
    python -m venv venv
    
    # Activate it (on Windows)
    .\venv\Scripts\activate
    
    # Activate it (on macOS/Linux)
    source venv/bin/activate
  3. Install the required packages for a specific project. Some projects may have a requirements.txt file.

    pip install -r path/to/project/requirements.txt

💻 Usage

To run any script, navigate to its directory and execute it with Python. For example, to run the database roster script:

python roster.py

Make sure any required data files (e.g., roster_data.json) are in the same directory as the script.

🤝 Contributing

While this is primarily a portfolio of course assignments, suggestions for improvements or alternative solutions are welcome. Feel free to fork the repository and submit a pull request with your ideas!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/ImprovedSolution)
  3. Commit your Changes (git commit -m 'Add an improved solution for X')
  4. Push to the Branch (git push origin feature/ImprovedSolution)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published