Author: Saravana Kumar

  • Pandas Complete Guide (Simple English + Real-Life Examples)



    ๐Ÿ“Œ What is Pandas?

    Pandas is a Python library used to work with tabular data like Excel sheets or database tables. It helps with:

    • Reading & writing data
    • Analyzing & cleaning data
    • Performing calculations on rows and columns

    โœ… Step 1: Installing and Importing Pandas

    pip install pandas
    
    
    import pandas as pd
    
    

    โœ… pd is a short name (alias) we use for pandas.


    โœ… Step 2: Creating a DataFrame (Table-like data)

    data = {
        'Name': ['Arun', 'Priya', 'Kumar'],
        'Marks': [85, 90, 78]
    }
    
    df = pd.DataFrame(data)
    print(df)
    
    

    ๐Ÿ–จ Output:

        Name  Marks
    0   Arun     85
    1  Priya     90
    2  Kumar     78
    
    

    ๐ŸŽฏ Real-Life Use: Represent student marks or sales reports as a table.


    โœ… Step 3: Reading Data from Files

    df = pd.read_csv("students.csv")
    
    

    ๐ŸŽฏ Real-Life Use: Read data from Excel, CSV, or Google Sheets.


    โœ… Step 4: Basic Info About Data

    print(df.head())         # First 5 rows
    print(df.tail())         # Last 5 rows
    print(df.shape)          # (rows, columns)
    print(df.columns)        # List of column names
    print(df.info())         # Column details
    
    

    โœ… Step 5: Selecting Columns and Rows

    print(df['Name'])        # Select one column
    print(df[['Name', 'Marks']])  # Select multiple columns
    
    print(df.iloc[0])        # First row (by index)
    print(df.loc[1])         # Row with index label 1
    
    

    ๐ŸŽฏ Real-Life Use: Get details of a student by ID or name.


    โœ… Step 6: Filtering Data (Conditional Selection)

    print(df[df['Marks'] > 80])
    
    

    ๐Ÿ–จ Output:

        Name  Marks
    0   Arun     85
    1  Priya     90
    
    

    ๐ŸŽฏ Real-Life Use: Find students who passed or scored more than 80.


    โœ… Step 7: Adding and Modifying Columns

    df['Result'] = df['Marks'] >= 80
    print(df)
    
    

    ๐ŸŽฏ Real-Life Use: Add “Pass/Fail” status based on marks.


    โœ… Step 8: Sorting Data

    print(df.sort_values('Marks'))
    print(df.sort_values('Marks', ascending=False))
    
    

    ๐ŸŽฏ Real-Life Use: Rank top scorers or sort products by price.


    โœ… Step 9: Grouping and Aggregating

    group = df.groupby('Result').mean()
    print(group)
    
    

    ๐ŸŽฏ Real-Life Use: Find average marks of passed vs failed students.


    โœ… Step 10: Handling Missing Data

    df.isnull()            # Check missing values
    df.dropna()            # Remove rows with missing values
    df.fillna(0)           # Replace missing values with 0
    
    

    ๐ŸŽฏ Real-Life Use: Fill missing prices or names in sales data.


    โœ… Step 11: Exporting Data to File

    df.to_csv("updated_data.csv", index=False)
    
    

    ๐ŸŽฏ Real-Life Use: Save cleaned or updated student/sales report.


    โœ… Step 12: Useful Pandas Functions

    df.describe()      # Summary (mean, std, min, max)
    df['Marks'].max()  # Maximum marks
    df['Marks'].min()  # Minimum marks
    df['Marks'].mean() # Average marks
    df['Marks'].sum()  # Total marks
    
    

    ๐ŸŽฏ Real-Life Use: Get summary of any report like sales or performance.


    ๐Ÿ“š Interview Q&A (Pandas)

    1. What is Pandas in Python?

    Answer: A library for data manipulation and analysis using tables (DataFrames).


    2. What is a DataFrame?

    Answer: A 2D table with rows and columns (like Excel).


    3. How do you read data in Pandas?

    pd.read_csv('filename.csv')
    
    

    4. How to filter rows where salary > 50000?

    df[df['Salary'] > 50000]
    
    

    5. How to handle missing values?

    • df.dropna()
    • df.fillna(0)

    6. How to group data?

    df.groupby('Department').mean()
    
    

    7. Difference between loc[] and iloc[]?

    • loc[]: Uses label (row name/index)
    • iloc[]: Uses position (row number)

    8. How to sort data?

    df.sort_values('ColumnName')
    
    

    9. How to add a new column?

    df['NewCol'] = value
    
    

    10. Real-Life Example?

    Track student marks, employee salary, monthly sales, attendance, survey data, etc.


    ๐Ÿ“Œ Summary

    FeaturePandasReal-Life Use
    DataFrameTable structureMarks, Sales, Reports
    CSV I/ORead/Write filesLoad/Save reports
    Filter rowsdf[df['Age']>25]Filter based on condition
    Groupinggroupby()Average sales per month
    Cleaning datafillna()Remove missing entries

    Let me know your next step!

  • NumPy Complete Reference Guide (with Real-Life Examples & Interview Q&A)


    ๐Ÿ“˜ Introduction to NumPy

    What is NumPy?

    NumPy (Numerical Python) is a powerful Python library used for numerical computations. It provides support for arrays, matrices, and many mathematical functions.

    Why use NumPy?

    • Faster than Python lists
    • Supports multi-dimensional arrays
    • Optimized mathematical functions
    • Useful for data science, ML, and scientific computing

    Installation

    pip install numpy
    
    

    Importing NumPy

    import numpy as np
    
    

    Real-Life Example:

    You can analyze thousands of sales records, do calculations, and generate statistics quickly using NumPy arrays.


    ๐Ÿ”น Creating Arrays

    arr1 = np.array([1, 2, 3])          # 1D array
    arr2 = np.array([[1, 2], [3, 4]])   # 2D array
    
    

    Array Attributes

    print(arr2.shape)   # (2, 2)
    print(arr2.ndim)    # 2
    print(arr2.dtype)   # int32 or int64
    
    

    Real-Life Example:

    Use 2D arrays to represent Excel-like tables (e.g., student marks, sales data).


    ๐Ÿ”น Indexing and Slicing

    arr = np.array([10, 20, 30, 40])
    print(arr[1:3])  # Output: [20 30]
    
    arr2 = np.array([[1, 2], [3, 4]])
    print(arr2[1, 0])  # Output: 3
    
    

    Real-Life Example:

    Get a student’s marks from a 2D array of student results.


    ๐Ÿ”น Array Operations

    a = np.array([1, 2, 3])
    b = np.array([4, 5, 6])
    print(a + b)  # [5 7 9]
    print(a * b)  # [4 10 18]
    
    

    Broadcasting

    a = np.array([1, 2, 3])
    print(a + 10)  # [11 12 13]
    
    

    Real-Life Example:

    Apply discount or tax to a list of prices using broadcasting.


    ๐Ÿ”น Array Functions

    arr = np.array([1, 2, 3, 4])
    print(np.sum(arr))       # 10
    print(np.mean(arr))      # 2.5
    print(np.max(arr))       # 4
    
    

    Real-Life Example:

    Calculate total or average marks of students.


    ๐Ÿ”น Reshaping and Flattening

    arr = np.array([[1, 2], [3, 4]])
    print(arr.reshape(4, 1))
    print(arr.flatten())
    
    

    Real-Life Example:

    Convert a 2D image matrix into a 1D array for machine learning input.


    ๐Ÿ”น Stacking and Splitting

    a = np.array([[1, 2], [3, 4]])
    b = np.array([[5, 6], [7, 8]])
    
    print(np.vstack((a, b)))
    print(np.hstack((a, b)))
    
    

    ๐Ÿ”น Random Numbers

    np.random.seed(0)
    print(np.random.randint(1, 10, size=(2, 3)))
    
    

    Real-Life Example:

    Create random roll numbers or question orders for an online quiz.


    ๐Ÿ”น File I/O in NumPy

    np.savetxt('data.csv', arr, delimiter=',')
    arr_loaded = np.loadtxt('data.csv', delimiter=',')
    
    

    Real-Life Example:

    Save and load data like marks, sales, or sensor values using CSV files.


    ๐Ÿ“š Interview Q&A with Real-Life Examples

    1. What is NumPy? Why is it used?

    Answer: A powerful library for numeric computations in Python. Used in data science, ML, and engineering.
    Example: Analyze thousands of rows of Excel data in seconds.

    2. Difference between Python list and NumPy array?

    FeatureListNumPy Array
    SpeedSlowFast
    MemoryMoreLess
    OperationsNo vector opsVector ops
    Example: Process pixel data faster with NumPy.

    3. What is broadcasting?

    Answer: It allows different-shaped arrays to work together in operations.
    Example: Add 10% tax to each product price: arr + 10

    4. How to create arrays?

    Answer: Using np.array, np.zeros, np.ones, np.arange, etc.
    Example: Initialize 0 attendance for all students.

    5. What is reshape and flatten?

    Answer: reshape() changes shape, flatten() converts to 1D.
    Example: Convert a 2D image to 1D for model input.

    6. Mathematical operations in NumPy?

    Answer: Use +, -, *, / between arrays or scalars.
    Example: Calculate final bill: price - discount

    7. How to calculate statistics?

    Answer: Use np.mean, np.median, np.std, etc.
    Example: Find average marks of a class.

    8. Generating random numbers?

    Answer: Use np.random.randint, np.random.rand, etc.
    Example: Generate random test scores or sample data.

    9. What is axis in NumPy?

    Answer: Tells NumPy to operate along rows or columns.
    Example: Sum all subjects per student: axis=1

    10. File handling in NumPy?

    Answer: np.savetxt, np.loadtxt for CSV operations.
    Example: Save survey results into a CSV file.


    Sure! Here’s a step-by-step NumPy guide with more examples and outputs, explained in simple English, including real-life usage.


    ๐Ÿงฎ NumPy Step-by-Step with Examples and Outputs


    โœ… Step 1: Importing NumPy

    import numpy as np
    
    

    โœ… Why? This lets us use all the NumPy functions.


    โœ… Step 2: Creating Arrays

    โžค 1D Array

    a = np.array([1, 2, 3])
    print(a)
    # Output: [1 2 3]
    
    

    โžค 2D Array

    b = np.array([[1, 2], [3, 4]])
    print(b)
    # Output:
    # [[1 2]
    #  [3 4]]
    
    

    โžค 3D Array

    c = np.array([[[1,2], [3,4]], [[5,6], [7,8]]])
    print(c)
    
    

    ๐ŸŽฏ Real-Life Use: Store pixel values for an image (3D – width, height, channels).


    โœ… Step 3: Array Properties

    print(b.shape)     # (2, 2)
    print(b.ndim)      # 2
    print(b.size)      # 4
    print(b.dtype)     # int64
    
    

    ๐ŸŽฏ Real-Life Use: Know the shape of Excel-like data before applying operations.


    โœ… Step 4: Indexing and Slicing

    arr = np.array([10, 20, 30, 40, 50])
    print(arr[1:4])
    # Output: [20 30 40]
    
    

    โžค 2D Indexing

    arr2 = np.array([[1, 2], [3, 4]])
    print(arr2[1, 0])
    # Output: 3
    
    

    ๐ŸŽฏ Real-Life Use: Access student marks from rows and subjects from columns.


    โœ… Step 5: Array Operations

    a = np.array([10, 20, 30])
    b = np.array([1, 2, 3])
    print(a + b)     # [11 22 33]
    print(a * b)     # [10 40 90]
    
    

    ๐ŸŽฏ Real-Life Use: Calculate bill amount = price * quantity


    โœ… Step 6: Broadcasting

    a = np.array([1, 2, 3])
    print(a + 5)
    # Output: [6 7 8]
    
    

    ๐ŸŽฏ Real-Life Use: Apply flat discount or tax to all items at once.


    โœ… Step 7: Useful NumPy Functions

    arr = np.array([10, 20, 30])
    print(np.sum(arr))     # 60
    print(np.mean(arr))    # 20.0
    print(np.min(arr))     # 10
    print(np.max(arr))     # 30
    print(np.std(arr))     # 8.16...
    
    

    ๐ŸŽฏ Real-Life Use: Calculate total, average, and spread of exam scores.


    โœ… Step 8: Reshape and Flatten

    arr = np.array([[1, 2, 3], [4, 5, 6]])
    reshaped = arr.reshape(3, 2)
    print(reshaped)
    # Output:
    # [[1 2]
    #  [3 4]
    #  [5 6]]
    
    flat = arr.flatten()
    print(flat)
    # Output: [1 2 3 4 5 6]
    
    

    ๐ŸŽฏ Real-Life Use: Prepare data for machine learning models (flat format).


    โœ… Step 9: Stack and Split Arrays

    a = np.array([[1, 2], [3, 4]])
    b = np.array([[5, 6], [7, 8]])
    
    print(np.hstack((a, b)))
    # Output:
    # [[1 2 5 6]
    #  [3 4 7 8]]
    
    print(np.vstack((a, b)))
    # Output:
    # [[1 2]
    #  [3 4]
    #  [5 6]
    #  [7 8]]
    
    

    ๐ŸŽฏ Real-Life Use: Combine tables or reports horizontally/vertically.


    โœ… Step 10: Random Numbers

    np.random.seed(0)
    print(np.random.randint(1, 10, (2, 3)))
    # Output:
    # [[5 6 1]
    #  [4 4 8]]
    
    

    ๐ŸŽฏ Real-Life Use: Create random test data or shuffle questions.


    โœ… Step 11: Conditional Selection

    arr = np.array([10, 20, 30, 40])
    print(arr[arr > 20])
    # Output: [30 40]
    
    

    ๐ŸŽฏ Real-Life Use: Filter students who scored above 20 marks.


    โœ… Step 12: Save & Load Files

    arr = np.array([[1, 2], [3, 4]])
    np.savetxt("data.csv", arr, delimiter=",")
    loaded = np.loadtxt("data.csv", delimiter=",")
    print(loaded)
    
    

    ๐ŸŽฏ Real-Life Use: Save and reload reports, marks, or sales data.


    โœ… Step 13: Axis in Functions

    arr = np.array([[1, 2], [3, 4]])
    print(np.sum(arr, axis=0))  # Column sum: [4 6]
    print(np.sum(arr, axis=1))  # Row sum: [3 7]
    
    

    ๐ŸŽฏ Real-Life Use: Get total sales per product or per day.


    โœ… Step 14: Special Arrays

    print(np.zeros((2, 3)))   # Array with all zeros
    print(np.ones((2, 3)))    # Array with all ones
    print(np.eye(3))          # Identity matrix
    
    

    ๐ŸŽฏ Real-Life Use: Initialize tables, filters, or neural network layers.


    โœ… Step 15: Linspace & Arange

    print(np.linspace(1, 5, 5))  # [1. 2. 3. 4. 5.]
    print(np.arange(1, 10, 2))   # [1 3 5 7 9]
    
    

    ๐ŸŽฏ Real-Life Use: Generate time steps or price intervals for charts.


    ๐Ÿ” Final Thoughts

    NumPy is essential for data analysis, machine learning, and scientific work in Python. Mastering it gives you speed, accuracy, and power to work with big data.

    If youโ€™re a beginner, practice real-life examples like:

    • Student marks
    • Sales data
    • Weather sensor logs

    Keep experimenting with arrays, slicing, operations, and reshaping to become a NumPy pro!

  • Career-Based Python Library Guide

    Great! Here’s a career-based list of Python libraries to help you choose what to focus on based on your career goal.


    ๐Ÿงญ Career-Based Python Library Guide

    ๐ŸŽฏ Career Path๐Ÿ“š Libraries to Learn๐Ÿง  Why Useful

    ๐Ÿ’ผ 1. Data Science / Data Analyst

    ๐Ÿ”น NumPy โ€“ Fast numerical computations
    ๐Ÿ”น Pandas โ€“ Table (Excel-style) data analysis
    ๐Ÿ”น Matplotlib / Seaborn โ€“ Visualize data with graphs
    ๐Ÿ”น Scikit-learn โ€“ Easy machine learning models
    ๐Ÿ”น Statsmodels โ€“ Statistical tests, regressions
    ๐Ÿ”น Jupyter Notebook โ€“ Interactive coding

    ๐Ÿ’ก Why: Data cleaning, visualization, prediction


    ๐Ÿค– 2. Machine Learning / AI

    ๐Ÿ”น All from Data Science PLUS
    ๐Ÿ”น TensorFlow โ€“ Deep learning by Google
    ๐Ÿ”น Keras โ€“ Simple interface for TensorFlow
    ๐Ÿ”น PyTorch โ€“ Deep learning by Facebook
    ๐Ÿ”น OpenCV โ€“ Image recognition and vision
    ๐Ÿ”น NLTK / SpaCy โ€“ Natural language (text) processing

    ๐Ÿ’ก Why: AI, predictions, image & text classification


    ๐ŸŒ 3. Web Development

    ๐Ÿ”น Flask โ€“ Lightweight web framework
    ๐Ÿ”น Django โ€“ Full-featured web framework
    ๐Ÿ”น Jinja2 โ€“ HTML templates
    ๐Ÿ”น SQLAlchemy โ€“ Database connection
    ๐Ÿ”น WTForms / Django Forms โ€“ User input forms
    ๐Ÿ”น Requests โ€“ Call APIs

    ๐Ÿ’ก Why: Build websites, blogs, admin panels


    ๐Ÿงช 4. Software Testing / QA

    ๐Ÿ”น Unittest โ€“ Built-in Python testing
    ๐Ÿ”น Pytest โ€“ Advanced testing made easy
    ๐Ÿ”น Selenium โ€“ Automate browser testing
    ๐Ÿ”น Behave โ€“ BDD (like Cucumber for Python)
    ๐Ÿ”น Mock โ€“ Test dummy data

    ๐Ÿ’ก Why: Automate test cases for software quality


    ๐Ÿค– 5. Automation / Scripting

    ๐Ÿ”น os, shutil โ€“ File and folder automation
    ๐Ÿ”น subprocess โ€“ Run shell commands
    ๐Ÿ”น pyautogui โ€“ Control mouse & keyboard
    ๐Ÿ”น schedule โ€“ Automate time-based tasks
    ๐Ÿ”น requests / bs4 (BeautifulSoup) โ€“ Web scraping
    ๐Ÿ”น pandas / openpyxl / csv โ€“ Excel automation

    ๐Ÿ’ก Why: Save time by writing repeatable task scripts


    ๐Ÿ–ฅ๏ธ 6. Desktop App Development

    ๐Ÿ”น Tkinter โ€“ Built-in GUI toolkit
    ๐Ÿ”น PyQt / PySide โ€“ Advanced GUI apps
    ๐Ÿ”น Kivy โ€“ Multi-platform GUI & touch apps
    ๐Ÿ”น CustomTkinter โ€“ Beautiful UI with dark mode

    ๐Ÿ’ก Why: Make apps with buttons, forms, input boxes


    ๐Ÿงฉ 7. Game Development

    ๐Ÿ”น Pygame โ€“ Simple 2D game creation
    ๐Ÿ”น Arcade โ€“ Modern 2D games (better visuals)
    ๐Ÿ”น PyOpenGL โ€“ 3D game basics
    ๐Ÿ”น Panda3D โ€“ Full 3D engine

    ๐Ÿ’ก Why: Build simple games to large 3D games


    ๐Ÿ“Š 8. Cybersecurity / Hacking (Ethical)

    ๐Ÿ”น Scapy โ€“ Network packet crafting
    ๐Ÿ”น Nmap (via Python) โ€“ Scan devices
    ๐Ÿ”น Paramiko โ€“ SSH and remote access
    ๐Ÿ”น Requests / BeautifulSoup โ€“ Info gathering
    ๐Ÿ”น Socket โ€“ Low-level networking

    ๐Ÿ’ก Why: Create ethical hacking tools, scan systems


    ๐Ÿงฌ 9. Bioinformatics / Science

    ๐Ÿ”น BioPython โ€“ DNA, RNA, Protein data
    ๐Ÿ”น SciPy โ€“ Scientific math & physics
    ๐Ÿ”น NumPy / Pandas โ€“ Data processing
    ๐Ÿ”น Matplotlib / Seaborn โ€“ Graphs & analysis

    ๐Ÿ’ก Why: Process genetic or scientific data easily


    ๐Ÿงพ Summary Table

    CareerTop Libraries
    Data ScienceNumPy, Pandas, Matplotlib, Scikit-learn
    AI / MLTensorFlow, Keras, PyTorch, OpenCV
    Web DevelopmentFlask, Django, SQLAlchemy, Requests
    Testing / QAPytest, Selenium, Unittest
    Automationos, pyautogui, requests, bs4
    Desktop AppsTkinter, PyQt, Kivy
    Game DevPygame, Arcade, Panda3D
    CybersecurityScapy, Paramiko, Socket
    Science / BioBioPython, SciPy

  • Most Used Python Libraries (with Usage & Why Popular)

    Here’s a helpful guide on the most used Python libraries worldwide, why they are popular, and estimated usage based on developer surveys and real-world application.


    These libraries are used by millions of developers across industries like data science, web development, automation, machine learning, and more.

    ๐Ÿ”ข Percentages are based on data from Stack Overflow Developer Survey, GitHub stars, and industry trends.


    ๐Ÿ“Š 1. NumPy

    • Used for: Numerical computing, arrays, matrix operations
    • Usage: ~65โ€“70%
    • Why Popular: Foundation for data science & machine learning libraries (like pandas, scikit-learn)
    import numpy as np
    a = np.array([1, 2, 3])
    
    

    ๐Ÿงฎ 2. Pandas

    • Used for: Data analysis, data frames, table operations
    • Usage: ~60โ€“65%
    • Why Popular: Makes data handling like Excel but in Python; easy and powerful
    import pandas as pd
    df = pd.DataFrame({"name": ["Alice", "Bob"], "age": [25, 30]})
    
    

    ๐Ÿ“ˆ 3. Matplotlib / Seaborn

    • Used for: Data visualization, charts, graphs
    • Usage: ~55โ€“60%
    • Why Popular: Easy to create line plots, bar charts, and complex visuals
    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3], [4, 5, 6])
    
    

    ๐Ÿค– 4. Scikit-learn

    • Used for: Machine learning (regression, classification, clustering)
    • Usage: ~50โ€“55%
    • Why Popular: Beginner-friendly ML with ready-to-use models
    from sklearn.linear_model import LinearRegression
    
    

    ๐ŸŒ 5. Requests

    • Used for: Web APIs, sending HTTP requests
    • Usage: ~40โ€“50%
    • Why Popular: Extremely simple to make GET/POST requests
    import requests
    r = requests.get("https://api.example.com")
    
    

    ๐Ÿ› ๏ธ 6. Flask

    • Used for: Web development (micro web apps)
    • Usage: ~35โ€“40%
    • Why Popular: Very lightweight and easy to learn for web development
    from flask import Flask
    app = Flask(__name__)
    
    

    ๐Ÿ”’ 7. Django

    • Used for: Full-featured web applications
    • Usage: ~25โ€“30%
    • Why Popular: Built-in admin panel, ORM, user auth โ€” perfect for startups
    django-admin startproject mysite
    
    

    ๐Ÿงช 8. Pytest / Unittest

    • Used for: Testing Python code
    • Usage: ~25โ€“30%
    • Why Popular: Easy to write and manage test cases for automation

    ๐Ÿงน 9. BeautifulSoup

    • Used for: Web scraping
    • Usage: ~20โ€“25%
    • Why Popular: Clean and simple way to parse HTML and extract data

    ๐ŸŽฒ 10. OpenCV

    • Used for: Image processing, computer vision
    • Usage: ~20%
    • Why Popular: Used in AI projects, face detection, camera filters

    ๐Ÿ“ฆ 11. TensorFlow / Keras / PyTorch

    • Used for: Deep learning
    • Usage: ~30โ€“35% among ML developers
    • Why Popular: Used in AI apps, self-driving tech, advanced models

    ๐Ÿ–ผ๏ธ 12. Pillow

    • Used for: Image editing
    • Usage: ~15%
    • Why Popular: Resize, convert, and edit images easily in Python

    ๐Ÿ“‚ 13. os / sys / datetime / json

    • Used for: System operations, file handling, date/time
    • Usage: ~90% (core Python modules)
    • Why Popular: Built-in โ€” no install needed, used in almost every project

    ๐Ÿ“Š Summary Table of Most Popular Python Libraries

    LibraryMain UseUsage %Why Popular
    NumPyMath & arrays70%Fast and powerful base for data tools
    PandasData analysis65%Excel-like + powerful operations
    MatplotlibGraphs and plots60%Easy and flexible visualizations
    Scikit-learnMachine learning55%Great for beginners + fast to use
    RequestsHTTP / API calls50%Easy API use and web requests
    FlaskMicro web apps40%Fast setup for small websites
    DjangoFull web framework30%Rich features, admin panel included
    BeautifulSoupWeb scraping25%Clean HTML parsing
    PytestTesting30%Developer-friendly testing tools
    OpenCVImage processing20%AI, camera, face detection
    TensorFlow/KerasDeep Learning30%Popular in AI and neural networks
    PillowImage editing15%Easy image handling
    os/sys/jsonSystem & utilities90%Core libraries used everywhere

    ๐Ÿง  Final Tip:

    You donโ€™t need to learn all libraries.
    Start with the ones you need for your current project or career path (like web dev, data science, etc.)


  • How to Create Your Own Python Package (Step-by-Step Guide)



    ๐Ÿ”ธ What is a Package?

    • A package is a folder that contains Python files (modules).
    • It helps you organize your code.
    • You can reuse the code in many projects.

    โœ… Why Use Packages?

    • Keeps your code clean and structured
    • Makes code reusable
    • Easy to share with others

    ๐Ÿงณ Step-by-Step: Create Your Own Python Package


    ๐Ÿ”น Step 1: Create Folder Structure

    Letโ€™s say you want a package named mymath.

    mymath/
    โ”‚
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ add.py
    โ””โ”€โ”€ multiply.py
    
    

    โœ… __init__.py makes this folder a package.


    ๐Ÿ”น Step 2: Write Module Files

    ๐Ÿ“„ add.py:

    def add(a, b):
        return a + b
    
    

    ๐Ÿ“„ multiply.py:

    def multiply(a, b):
        return a * b
    
    

    ๐Ÿ“„ __init__.py:

    from .add import add
    from .multiply import multiply
    
    

    ๐Ÿ”น Step 3: Use the Package in Your Code

    Create a new file outside the folder (for example: main.py)

    ๐Ÿ“„ main.py:

    from mymath import add, multiply
    
    print(add(2, 3))        # Output: 5
    print(multiply(2, 3))   # Output: 6
    
    

    โœ… Now your package is working!


    ๐Ÿ”น Step 4 (Optional): Add __all__ in __init__.py

    This helps when you use from mymath import *

    __all__ = ['add', 'multiply']
    
    

    โœ… Practice Time

    Q1: Create a package called greet with:

    • hello.py: hello(name) โ†’ prints โ€œHello, [name]โ€
    • bye.py: bye(name) โ†’ prints โ€œGoodbye, [name]โ€

    Answer:

    Folder:

    greet/
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ hello.py
    โ””โ”€โ”€ bye.py
    
    

    ๐Ÿ“„ hello.py:

    def hello(name):
        print(f"Hello, {name}")
    
    

    ๐Ÿ“„ bye.py:

    def bye(name):
        print(f"Goodbye, {name}")
    
    

    ๐Ÿ“„ __init__.py:

    from .hello import hello
    from .bye import bye
    
    

    Use it in main.py:

    from greet import hello, bye
    
    hello("John")
    bye("John")
    
    

    ๐Ÿ“ฆ Bonus: Make it Installable (Advanced)

    To share with others (like on PyPI), create a setup.py:

    from setuptools import setup, find_packages
    
    setup(
        name='mymath',
        version='0.1',
        packages=find_packages()
    )
    
    

    Then run:

    python setup.py install
    
    

    ๐Ÿงพ Summary

    StepWhat to Do
    1Create folder and files
    2Add __init__.py
    3Write code in modules
    4Import and use

    ๐Ÿง  Final Tip:

    You can create your own Python tools using packages.
    Perfect for organizing large projects!