Skip to content
This repository has been archived by the owner on Jul 16, 2023. It is now read-only.

“Python for Academic Research” is a program launched by NRCC to provide short training in the python programming language. This course will teach students to use python in research and implement such learnings in their practical classes. Mr. Kshitiz Regmi will be teaching the course.

License

Notifications You must be signed in to change notification settings

dhakalnirajan/Python-For-Research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python For Research by Nepal Research and Collaboration Centre

Python For Research is a Python Course For Research conducted by Nepal Research and Collaboration Centre (NRCC).

Python For Research

Maintainence Completed     License

About Instructor

Languages and Tools Used:

forthebadge made-with-python   Visual Studio Code   Colaboratory   Python   NumPy   Pandas   Matplotlib   SymPy

About 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.


Objectives of the Course

  1. To make students understand the use of Python in Research.
  2. 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:

  1. Python Introduction (7 days)

    • Python Syntax
    • Data Types
    • Operators
    • Lists
    • Control statements
    • loops
    • functions
    • OOP: Python Class
    • Modules: NumPy, Matplotlib, Pandas
  2. NumPy (2 days)

    • Data as lists, arrays, and tuples.
    • Find the average, stddev, quartiles, mode, etc. of the data.
  3. 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.
  4. Pandas (4 days)

    • Read CSV
    • Dataframes
    • Analyzing Data
    • Pandas Correlations
    • Plotting Data
  5. SymPy (2 days)

    • Defining Functions
    • Derivatives
    • Integrals
    • Solving differential equations

Course Syllabus:


1. Python Programming

  • 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
  • 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

2. Numpy

  • 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

The files are uploaded based on the curriculum of the course in their respective folder.

  1. Introduction to Python

    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

    1.e. Introduction to Python - Day - 5

    1.f. Introduction to Python - Day - 6



  1. NumPy

    2.a. Introduction to Numpy

    2.b. N-Dimensional Array in Numpy


  1. Matplotlib

    3.a. Introduction To Scientific Plotting Using Matplotlib

    3.b. Advanced Matplotlib


  1. Pandas

    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


  1. Sympy

    5.a. Introduction To Sympy

    5.b. Derivatives

    5.c. Integrals


About

“Python for Academic Research” is a program launched by NRCC to provide short training in the python programming language. This course will teach students to use python in research and implement such learnings in their practical classes. Mr. Kshitiz Regmi will be teaching the course.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published