
Set up a free Jupyter notebook on Google Colab, sign in, upload a notebook, and run code to start learning core Python, NumPy, and Pandas.
Learn to use Jupyter notebook to write and run Python in a browser, with text blocks and code blocks, then execute and view results.
Explain data types and variables in Python, highlighting dynamic typing, assigning numbers or strings, and naming rules with letters, numbers, underscores, and not starting with numbers.
Discover how Python handles integer data types, including long integers of infinite size, and how arithmetic works across integers, floats, and complex numbers.
Explore creating strings in Python with single, double, and triple quotes, including multi-line strings. Learn operations such as concatenation, slicing, escaping quotes with backslashes, and basic int conversion to numbers.
Learn how to take input in python using the input function, convert string inputs to numbers, sum them, and print the data types involved.
Explore Python boolean data type with true and false values, and use comparisons such as == and != in numeric and string contexts, including <, >, and other boolean operators.
Explore Python blocks and control flow, using if statements to execute code when conditions are true and showing how indentation defines blocks of code.
Explore how if-else statements control flow by executing a single code block based on a condition, illustrated with comparing two numbers.
Learn how to use if, elif, and else in Python to handle conditions, using a number example to show how each condition executes and how else runs when none apply.
Explore boolean logic and its operators and, or, not, to evaluate true and false conditions, study truth tables, and learn operator precedence for building complex conditions.
Explore how the while loop repeats a block based on a condition, using break and continue to control flow. See examples printing 0–9 and stopping at 5 to yield 0–4.
Explore Python lists that store items of different types, including strings and numbers. Learn 0-based indexing, access nested lists, print lists, and modify items with assignment and multiplication.
Explore python list operations including membership checks, append, insert at index, index for first occurrences, removing elements, and computing max and min.
Master Python range by understanding start inclusive and end exclusive, and by using positive steps to generate sequences for loops, with examples like range(10) and range(1, 10, 2).
Define python functions with def, supply arguments, and return values; assign them to variables, call with positional or named arguments, and use docstrings for documentation.
Learn how to pass variable numbers of arguments to functions in Python, using positional arguments, *args, and **kwargs, and see how keyword labels map to values.
Explore how Python modules organize related functions, import full modules or individual functions, use aliases, and leverage standard library and third-party packages to boost productivity.
Python exceptions occur when errors halt code execution, as shown by zero division or invalid indexing. Use try-except and finally to handle errors and provide descriptive messages.
Master Python file handling by opening text files, reading lines, and writing with write or append modes. Use the with statement to ensure automatic closing and preserve data when appending.
Learn how the None data type in Python represents the absence of a value, like null, and how a function without a return yields None.
Learn how dictionaries map keys to values in Python, access data with square brackets, and use get and in to handle missing keys and updates.
Tuples are immutable lists created with parentheses; once set, elements cannot change, offering memory efficiency and enabling use as dictionary keys, while simplifying returning multiple arguments from a function.
Learn how Python list slicing uses start, end, and step, with end not included. See how defaults and negative steps create forward and reversed selections, illustrated by square numbers.
Learn how list comprehensions in Python create lists by generating squares from 0 to 4 using range(5). Optionally filter values that satisfy a condition before squaring.
Learn Python string functions, including formatting with positional and named arguments, joining lists, replacing substrings, and checks like starts with and ends with, plus splitting and applying lower to strings.
Explore Python list functions such as min, max, sum, and abs, and demonstrate the any function through numbers, strings, and empty lists.
Explore how the Python all function evaluates lists, returning true when all elements are true and false when any element is false, including examples with numbers, strings, and empty lists.
Explore object oriented programming by creating classes with attributes and an __init__ method. Learn how instances like Russell and Panini hold separate data, illustrating that each object has its state.
Explore object oriented programming by creating a class instance, invoking methods, and understanding self as an implicit parameter; learn about class level attributes to count instances.
Explore inheritance by deriving Greek philosopher from philosopher, sharing base attributes like name and country; call super to initialize the base constructor and access details across classes.
Explore Python magic methods, also called dunders, which implement operator overloading for addition, subtraction, multiplication, and division, and enable container-like behavior with get item and len.
Explore Python object lifecycle from creation to destruction by examining how __new__ and __init__ control instantiation and constructor behavior in a philosopher example.
Explore how Python manages memory via reference counting and garbage collection, showing how object destruction frees memory when reference counts drop to zero.
Learns data hiding by using public, private, and protected concepts, with single underscore signaling weak attributes and double underscore triggering name mangling; explore magic methods for string representation.
Learn about instance, class, and static methods in Python; instance methods use self, class methods use cls to access class attributes, while static methods avoid class and instance data.
Learn how numpy arrays differ from plain lists, define shape and rank, and build one, two, and three dimensional arrays, then index elements and visualize dimensions.
Learn to perform matrix operations: add, subtract, and multiply element-wise, compute the dot product, and apply division and squaring, using floats for consistency.
Explore how to compute the dot product using numpy, multiply rows by columns, and understand matrix shapes through practical examples.
Explore numpy slicing across multi-dimensional arrays, specifying a slice per axis to extract a subarray. Learn that slices create views into the data, so changes affect the original array.
Explore mixing integer and slice indexing in numpy arrays, showing how selecting a row or column with an integer index yields a 1-D array, while slicing preserves 2-D structure.
Explore numpy array indexing by using two index lists to access a 3 by 2 array, building arbitrary indices and extracting subsets with element reuse.
Learn how to use indexing to select or mutate one element per row in a 4 by 3 matrix, showing how indexing updates values.
Master boolean array indexing to select elements that satisfy a condition in numpy arrays, explore shapes and condition-driven selection for matrix operations, with practical examples.
Apply NumPy sum to compute totals in arrays, as shown on a 2x2 example; use axis=0 to sum columns and axis=1 to sum rows for row-wise totals.
Learn how to reshape numpy arrays into 2d and 3d forms, visualize reshaped matrices, and explore practical uses in machine learning and deep learning.
Learn how to reshape numpy arrays by understanding shape, axes, and the implications of converting between 5 by 5 and 5 by 1 forms, with examples relevant to machine learning.
Learn how NumPy tensors represent 1D, 2D, and 3D data, from scalars to multi-dimensional arrays, and see how images, samples, and features drive deep learning.
Learn how to transpose a matrix, visualize a 1 2 3 4 example where rows become columns, and use the transpose function in code.
Explore numpy broadcasting by adding a 1 0 1 vector to a matrix with differing shapes, and learn how automatic shape alignment enables efficient size matched operations.
Explore Pandas series, access elements by index or slicing, perform element-wise addition and multiplication, compute statistics like mean, std, min, max, and filter with boolean indexing.
Explore how the pandas series index lets you access city population data by position or by index, retrieving the population of China or India.
Compare pandas data frames with numpy arrays, showing how indexing and alignment simplify retrieving and handling tabular data with multiple data types.
Explore how Pandas loc and iloc access data by label and by position, including automatically created zero-based indices. Observe that the same value can be retrieved using different index references.
Learn how to find the country with the maximum population using Pandas by locating the index of the maximum value and printing the country and its population.
Learn how pandas series addition aligns by index, handles nonmatching labels, and uses drop and fill strategies to drop non numbers or treat missing values as zero for complete results.
Apply the pandas apply function to transform each element in a series, using a string-capitalizing function to capitalize city names like India, China, and Brazil.
Pandas dataframes introduce a two dimensional data structure as a collection of cities with columns like capital, country, and population, where mean operates on numeric columns while strings are ignored.
Learn how to index a Pandas DataFrame with a country-based index and use loc and iloc for label- and position-based selection of country capital, GDP, and population.
Apply pandas to convert a data frame to a two-dimensional array, print it, and compute sums along axis zero and axis one, with practical tips to verify results.
Demonstrates Pandas DataFrame addition, showing column and index alignment with an ABC example and how missing values appear when combining frames.
Learn how Pandas DataFrame applymap applies a function to every element in the data frame, incrementing each value by 1 with a simple example.
Learn how to read a csv file using pandas' read_csv, load data into a data frame, and apply standard filtering to select rows based on conditions like item_code equals Mac.
The course covers Core Python, Numpy and Pandas. Numpy and Pandas are stumbling block for many people who venture in machine learning. This course will help students to understand machine learning code as Numpy, Pandas are the building blocks for machine learning. Please note this is not a machine learning course. Please note that I have covered only core concepts of Python and there is fare more to Python than what I have covered.
Google Python Notebook is used for code.
Following are the topics in Core Python.
Setting up Google Notebook
Variables in Python - String, Integer, Boolean
Python Blocks
If else statement
While Loop
List operations
Range
Functions
Modules
Exceptions
File Handling
Dictionaries
Tuples
List Slices
List Comprehensions
String functions
Any,All operations
Object Oriented Programming
Magic methods
Class and Static methods
Following are topics in Numpy and Pandas
What is Numpy
Numpy - Add, Subtract, Multiply
Numpy Dot Product
Numpy Slicing
Mixing Integer Indexing And Slice Indexing
Numpy Array Indexing
More Array Indexing
Boolean Array Indexing
Numpy Sum
Numpy Reshape
Numpy Tensors 1D, 2D,3D
Numpy Transposing
Numpy Broadcasting
Pandas
What is Pandas
Pandas Series
Pandas Series Index
Pandas Advantage Over Numpy
Pandas Loc and iLoc
Pandas example - Finding Max
Pandas Series Addition
Pandas Apply Function
Pandas DataFrames Introduction
Pandas DataFrame Index, Loc and ILoc
Pandas Sum Along Axis
Pandas DataFrame Addition
Pandas DataFrame ApplyMap
Pandas Reading A CSV File