Giter VIP home page Giter VIP logo

python-basic-notebooks's Introduction

Learning Python: basic level

These notebook files are intended to help you self-learn Python.

The audience already has a basic idea about programming, about loops, about structure of source code.

Python can be used in many areas of application, but these notebooks, as you will see, have examples primarily from science, engineering, life sciences, and applied mathematics.

The topics listed below give an idea of what is covered. Within in each notebook are a series of simple or more challenging problems. The problems are designed to build on the topics just learned, as well as the topics from earlier notebooks.

Notebook 1: https://yint.org/pybasic01

  • Printing output to the screen
  • Creating variables
  • Variable types
  • Calculations with variables
  • Built-in constants and mathematical functions

Notebook 2: https://yint.org/pybasic02

  • Strings
  • Lists
  • For loops: iterating
  • Commenting and variable names

Notebook 3: https://yint.org/pybasic03

  • From strings to lists to strings to lists
  • If and else if branching in code
  • Reading from a file
  • Creating errors, checking for errors and handling errors
  • Challenge problems

Notebook 4: https://yint.org/pybasic04

  • Introducing vectors, matrices and arrays.
  • Using NumPy to create various vectors, matrices and arrays, containing specific values.
  • Get everyone to more or less the same level of understanding.

Notebook 5: https://yint.org/pybasic05

  • Mathematical operations (addition, multiplication, matrix math) on arrays.
  • Challenge problems that require using vectors and matrices.

Notebook 6: https://yint.org/pybasic06

  • Functions with single inputs, or multiple inputs: arguments based on their position, or name.
  • Functions with no (None) or single outputs, and multiple outputs in a tuple.
  • Challenge problems that recall work from prior modules, and apply your knowledge.

Notebook 7: https://yint.org/pybasic07

  • Dictionary objects in Python: the very basics.
  • Introducing Pandas' two main classes: Series and DataFrame: what they are, and how to use them.
  • Loading and saving data to/from CSV and Excel files.

Notebook 8: https://yint.org/pybasic08

  • Iterating over entries in a dictionary.
  • Getting and setting values in dictionaries.
  • Reading data from many CSV or Excel files.
  • Moving average calculations.

Notebook 9: https://yint.org/pybasic09

  • Statistics and Data Visualization: combined
  • Box plots; mean, median, percentiles
  • Bar plots; categorical vs numeric variables
  • Histograms; visualizing distribution and Central Limit Theorem

Notebook 10: https://yint.org/pybasic10

  • Goals of your data analysis project broken down
  • Data tables; correlations; pie charts are not so useful
  • Time-series; trends, induced delay from a moving average, random walks
  • Scatter plots; showing 5 variables in 1 plot
  • Extending the box plot: violin, swarm and raincloud plots

Learning Python: focus on getting results

In these series of 6 notebooks the focus is for people with some/minimal experience in coding (e.g. MATLAB, C++) to get started with Python. The target audience is process engineers and scientists. People that need to get some sort of value extracted from their data.

As such, it does not teach loops, branching, data structures, etc. In other words, the theoretical computer science concepts are introduced as needed, but not explicitly.

Notebook 11: https://yint.org/pybasic11

  • Printing output to the screen
  • Creating variables, and basic calculations with them
  • Lists

Notebook 12: https://yint.org/pybasic12

  • Using and understanding the Pandas library
  • Creating Pandas series and data frames and basic calculations with them
  • Reading in Excel files with Pandas and basic calculation

Notebook 13: https://yint.org/pybasic13

  • Becoming more comfortable with Pandas data processing
  • Shape of data, unique values, adding/removing data, merging dataframes, sorting data
  • Basic plotting with Pandas: box plot, time series and scatter plots

Notebook 14: https://yint.org/pybasic14

  • For loops, for when we need to do things over and over
  • The groupby function, for repeated actions on sub-groups of your data
  • Calculating the correlation matrix

Notebook 15: https://yint.org/pybasic15

  • Visualize the correlation matrix (2D histograms)
  • Using the LinearRegression tool from scikit-learn
  • The .iloc function in Pandas to split data into testing and training subset
  • Using seaborn to visualize regression models

Notebook 16: https://yint.org/pybasic16

  • Pandas collection: reading in subsets of data
  • Handling missing values with Pandas
  • Filtering data, and the multi-level groupby capability of Panda
  • Effective table display in Pandas

python-basic-notebooks's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

python-basic-notebooks's Issues

Try to give full info about what you are giving

In this, you have just mentioned what to do. so for the beginner, this is not good enough so you can put the data like what is not good in it. and whats the benefits of it in the future.

Coffee fund?

These examples are tailored nicely to data science. I appreciate the comparative analysis to Matlab processing, and the applications to biology and chemistry.

I was teaching some friends an intro to Python and came across your examples. Much of the info is too data-science oriented for their level, but at least five notebooks provided good coverage of some essential/fundamental topics, including built-in data types/data structures, and examples for building functions.

Not an issue at all, just wanted to give you a thanks for your work.

If you had a coffee fund, I'd chip in -- if so, please post on the README so we can give some love :D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.