
NumPy Universal Functions
In this lab, we will explore the basics of NumPy Universal Functions (ufuncs). Ufuncs are functions that operate on ndarrays in an element-by-element fashion, supporting array broadcasting, type casting, and other standard features. We will learn about the different methods of ufuncs, broadcasting rules, type casting rules, and how to override ufunc behavior.
NumPyPython

NumPy Broadcasting
Broadcasting is a powerful feature in NumPy that allows arrays with different shapes to be used in arithmetic operations. It provides a way to vectorize array operations and improve computational efficiency. This lab will guide you through the basics of broadcasting in NumPy.
NumPyPython

NumPy Indexing on ndarrays
In this lab, we will explore the basics of indexing in NumPy. Indexing allows us to access and manipulate specific elements or subsets of elements in an array. Understanding how to use indexing effectively is crucial for working with arrays in NumPy.
NumPyPython

NumPy Copies and Views
In this lab, you will learn the basics of working with NumPy arrays. NumPy is a powerful library for numerical computing in Python. It provides efficient data structures and functions for performing mathematical operations on arrays.
NumPyPython

NumPy Array Creation
This lab provides a step-by-step guide on how to create arrays using NumPy, a fundamental library for array containers in Python. You will learn different methods for array creation, including converting Python sequences, using intrinsic NumPy array creation functions, replicating and joining existing arrays, and reading arrays from disk.
NumPyPython

NumPy Data Types
This lab will provide a step-by-step guide to understanding the different data types available in NumPy, and how to modify an array's data type. NumPy supports a wide range of numerical types, including booleans, integers, floating point numbers, and complex numbers. Understanding these data types is important for performing various numerical computations and data analysis tasks using NumPy.
NumPyPython

NumPy IO Genfromtxt
In this lab, we will learn how to import data using the numpy.genfromtxt function. This function allows us to read tabular data from various sources and convert it into NumPy arrays. We will explore different options for defining the input, splitting the lines into columns, choosing columns, setting the data type, and tweaking the conversion.
NumPyPython

NumPy Structured Arrays
In this lab, we will learn about structured arrays in NumPy. Structured arrays are ndarrays whose datatype is a composition of simpler datatypes organized as a sequence of named fields. They are useful for working with structured data, such as tabular data, where each field represents a different attribute of the data.
NumPyPython

Documenting Python Functions with Docstrings
In this lab, you will learn the importance of documenting your Python code using docstrings. We will explore how to access existing docstrings for built-in functions using the help() function and the __doc__ attribute. Furthermore, you will gain practical experience in writing your own docstrings for custom functions and verifying their accessibility using the help() function, making your code more understandable and maintainable.
Python

Manipulate Lists in Python
In this lab, you will gain hands-on experience manipulating lists in Python, a fundamental data structure. You will learn to create, access, add, remove, modify, sort, query, and nest lists. By the end, you'll effectively work with lists to manage and process data in your Python programs.
Python

Use Tuples in Python
In this lab, you will gain a comprehensive understanding of tuples in Python. You will learn how to create tuples, access their elements using indexing and slicing, and explore how to modify them through techniques like slicing and concatenation, keeping in mind their immutable nature. Furthermore, you will delve into tuple operators and unpacking, discovering how to efficiently work with tuple data. Finally, you will explore and utilize common built-in tuple functions and methods to perform various operations on tuples.
Python

Manage Dictionaries in Python
In this lab, you will gain hands-on experience managing dictionaries in Python. Dictionaries are essential data structures for storing data in key-value pairs. You will learn how to create and inspect dictionaries, access and modify elements, add and delete elements, and explore dictionary view objects.
Python

Handle Input and Output in Python
In this lab, you will learn the fundamental concepts of handling input and output in Python. We will explore how to display information to the console using the print() function, including controlling separators between multiple arguments. Furthermore, you will gain practical experience in obtaining user input from the keyboard, writing data to files, and reading data back from files, covering essential skills for interacting with external data sources in your Python programs.
Python

Define Classes and Objects in Python
In this lab, you will learn the fundamental concepts of Object-Oriented Programming (OOP) in Python. We will explore how to define classes, which serve as blueprints for creating objects, and understand the relationship between classes and objects. You will then gain practical experience by creating and using instances of your defined classes. The lab will guide you through initializing objects with the __init__ method to set their initial state and customizing their string representation using the __repr__ method for better debugging and readability.
Python

Import Modules and Packages in Python
In this lab, you will learn how to import and use modules and packages in Python. We will explore Python modules with pydoc, import modules using import, import specific objects with from...import, and understand Python packages. This lab provides hands-on practice for effective code organization and reuse.
Python

PEP 8 Code Style in Python
In this lab, you will learn how to apply the PEP 8 style guide to your Python code. PEP 8 provides recommendations for writing readable and consistent Python code, covering indentation, line length, spacing, and naming conventions. You will practice implementing guidelines, explore rules, and use autopep8 for automatic formatting.
Python

Character Encoding in Python
In this lab, you will gain a comprehensive understanding of character encoding in Python. We will explore the history and concepts of character encoding, from ASCII to Unicode and UTF-8. You will learn to use ord() and chr(), convert between strings and bytes with encode() and decode(), and handle encoding errors.
Python

Handle Exceptions with try except in Python
In this lab, you will learn how to effectively handle exceptions in Python using the `try...except` statement. We will explore how to catch specific exceptions like `ValueError`, handle multiple exception types, and execute code regardless of whether an exception occurred using `else` and `finally` blocks. You will also learn how to raise custom exceptions to signal specific error conditions in your code. Through hands-on exercises, you will gain practical experience in writing robust and error-tolerant Python programs.
Python