Python For Research is a Python Course For Research conducted by Nepal Research and Collaboration Centre (NRCC).
Nepal Research And Collaboration Centre is a non-profit organization working to foster academia by conducting and promoting research and research-based learning at all academic levels. This program launched by NRCC is to provide short training in the python programming language. This course is made available to the students to implement Python in the research and implement such learnings in the practice.
- To make students understand the use of Python in Research.
- To teach the usage of python and its modules like
- NumPy,
- Pandas,
- Matplotlib,
- Seaborn,
- SymPy
The Course starts from September 24, 2022, and the first working week days are dedicated to learning basics of Python.
Courses:
-
Python Introduction (7 days)
- Python Syntax
- Data Types
- Operators
- Lists
- Control statements
- loops
- functions
- OOP: Python Class
- Modules: NumPy, Matplotlib, Pandas
-
NumPy (2 days)
- Data as lists, arrays, and tuples.
- Find the average, stddev, quartiles, mode, etc. of the data.
-
Matplotlib (2 days)
- Plotting Data from lists in NumPy.
- Plot curves of polynomial functions, trigonometriv functions, etc.
- Plotting subplots
- Plotting scatter plots, bar charts, histograms, pie charts, etc.
-
Pandas (4 days)
- Read CSV
- Dataframes
- Analyzing Data
- Pandas Correlations
- Plotting Data
-
SymPy (2 days)
- Defining Functions
- Derivatives
- Integrals
- Solving differential equations
- Introduction to Google Colab
- Python version and pip package manager
- Python Program
- Python Arithmatic Operators
- Using Python as calculators
- IEEE 754 standard for floating point arithmetic
- How to define a variable name and Variable Naming convention
- Changing and updating variable values in Python
- Data types in Python
- Number data type: int, float, complex
- Number data type with conditionals
- Anatomy of conditionals: if ... else statements
- Indentation
- Expression and Comparison operators
- Nesting and chaining(if... elif... else) of conditionals
- Logical Operators
- String data type in Python
- Single line strings and multi-line strings
- Indexing and slicing: How to access characters in a string?
- range() method
- for loop in python with range() method
- continue vs break vs pass statements
- characters vs substrings
- string methods:
.replace(), .lower(), .upper(), .lstrip(), .rstrip(), .split()
- Sequence data type: List
- Indexing, slicing, for loop with and without
range()
, while loop, for loop vs while loop - Calculating mean of list using loops
- Negative Indexing
- Membership operators:
in , not in
- Mutable vs Immutable data type with exmaple
- List methods:
.insert(), .append(), .remove(), .pop(), .sort()
- List comprehension
- Indexing, slicing, for loop with and without
-
Sequence data type: Tuple
- List vs tuple
- Typecasting data types
- loop in tuple
- Unpacking of tuples
-
Sets: unordered, unindexed
.remove() , .add()
in sets- Type conversion
- Set operation in Python : union, intersection, difference
-
Mapping data type Dictionary
- Accessing dictionary items and add key value pair
keys() and values()
method in dictionary- Updating dictionary: The
update()
method - `pop()
- Looping in dictionary
- Nested Dictionary
-
NoneType data type in Python
- Identity Operators
-
Python Functions
- def keyword and function arguments
- return statement
- Default arguments and non default arguments
- Handling multiple return values
- Recursion and its advantage
-
Object Oriented Programming in Python (OOP)
- Characterstics of OOP
- Class and Object --defining class and creating object
- . operator
- Instance attribute vs class attribute
- What is this
def __init__(self)
? - What is
self
parameter? __new__()
and__init__()
- Object methods or user defined methods inside user defined class
- Inheritance in Python
super()
method- Polymorphism and operator overloading
- Abstraction and Encapsulation
- limiting behaviour of variables : private, public and protected
-
Install and check version of the numpy
-
How to import numpy?
-
Vectors, the 1D Arrays
- What is array and Creating Numpy array: How do you know the shape and size of an array?
- What’s the difference between a Python list and a NumPy array?
- Array creation routines:
.zeros(), .ones() and .empty()
- Array initilization using Monotonic sequence : `.arange() , .linspace()
- Creating random array:
np.random.randint(), np.random.rand(), np.random.uniform(), np.random.randn(), np.random.normal()
- Indexing (fancy indexing) and slicing 1D numpy array
- Logic Functions: Truth value testing :
np.any() vs np.all()
- Adding, concatenate, and sorting array elements
np.append() , np.sort(), np.concatenate()
- Vector operations i.e. elementwise operations in 1D numpy array
- Broadcasting and its application in Image Processing
- Array Operation:
np.floor(), np.ceil(), np.round()
- Statistics using numpy:
.max(), .min(), .argmax(), .argmin(), .sum(), .mean(), .std(), .var()
-
Matrices, the 2D Arrays, and 3D arrays + Introduction to Computer vision
- Creation of 2D numpy array using:
list of list and 1D array, .ones(), .zeros(), .full(), .eye(), .reshape()
- Indexing, slicing and modifying values in 2D array
- Creating random matrix:
np.random.randint(), np.random.rand(), np.random.uniform(), np.random.randn(), np.random.normal()
- Matrix multiplication: Dot product
- Cross Product
- Inverse, Transpose and determinant of matrix using numpy
- The
axis
argument in numpy: 2D:axis = 0 vs axis = 1
- Matrix statistics:
.min(), .min(axis = 1), .min(axis = 0), .argmin(), .argmin(axis = 1), .argmin(axis = 0), np.unravel_index(),
- How morden day images are created? with Example of opencv library
- Creation of 2D numpy array using:
The files are uploaded based on the curriculum of the course in their respective folder.
-
1.a. Introduction to Python - Day - 1
1.b. Introduction to Python - Day - 2
1.c. Introduction to Python - Day - 3
1.d. Introduction to Python - Day - 4
-
4.a. Introduction To Pandas Series
4.b. Introduction to Pandas DataFrame
4.c. Groupby In Pandas
4.d. Joins in Pandas
4.e. Loc And Iloc
-
5.b. Derivatives
5.c. Integrals