Skip to content

Latest commit

 

History

History
150 lines (82 loc) · 7.81 KB

File metadata and controls

150 lines (82 loc) · 7.81 KB

NumPy-Pandas-Matplotlib-Learning-and-Practice-Python ➕🐼📉

My learning journey of Python's Libraries NumPy, Pandas and Matplotlib.

Thoughts on starting this learning journey

Back in my fifth project on Alarm Clock (no GUI) I mentioned that I discovered a new way to learn programming languages: Through the learning of libraries.

Through applying for IT internships and some readups online I also realised some popular libraries that are a must-know as professional skills in Python in the working world. Said libraries include NumPy, Pandas and Matplotlib so here they are.

I'm sure what I posed here definitely isn't everything there is about the libraries and there is a good chance that I may just be scratching the surface on the knowledge and the contents of these libraries. I'll keep learning as time goes on on what there is to know.

Repository directory description:

Let's start with:

  1. NumPy Learning
  2. NumPy Practices
  3. Pandas Learning
  4. Pandas Practices
  5. Matplotlib Learning
  6. Matplotlib Practices
  7. Numpy, Pandas, Matplotlib Real Life Practices


1. NumPy Learning

What is NumPy?

From online: "NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays."

NumPy Documentation: https://numpy.org/doc/

Source(s): https://www.youtube.com/watch?v=GB9ByFAIAH4 (Keith Galli)

The code and dataset that I put into the 'Numpylearn' folder is taken from and in order of this video's contents.

Dataset analysed here (An array of integers/floats)



2. NumPy Practices

Source(s): https://www.machinelearningplus.com/python/101-numpy-exercises-python/ (Machine Learning +)

The coding excercises and dataset I put into 'Numpypractice' folder is taken from (but not in order) of this website's contents.

Practices done by myself. Solutions that look quite different from my answers (or if my answers are wrong) I have attached the solutions in the folder as well.

(Did 15/70+ of the qns so far, skipped some like Q2 and Q5 since they are build up questions to the next question and I was able to do those already. Will be uploading more excercises as I do them...)



3. Pandas Learning

What is Pandas?

From online: "Pandas is an open-source library built on top of NumPy providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. It allows for fast analysis and data cleaning and preparation. It excels in performance and productivity."

Pandas Documentation: http://pandas.pydata.org/pandas-docs/stable/

Source(s): https://www.youtube.com/watch?v=vmEHCJofslg (Keith Galli)

The code and dataset that I put into the 'Pandaslearn' folder is taken from and in order of this video's contents.

Dataset analysed here (Pokemon data)



4. Pandas Practices

Source(s): https://pynative.com/python-pandas-exercise/ (PyNative)

The coding excercises and dataset I put into 'Pandaspractice' folder is taken from and in order of this website's contents.

Dataset analysed here (Automobile data)

Practices done by myself. Solutions that look quite different from my answers (or if my answers are wrong) I have attached the solutions in the folder as well.



5. Matplotlib Learning

What is Matplotlib?

From online: "Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy."

Matplotlib Documentation: https://matplotlib.org/stable/index.html (Main documentation), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html (line graph), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html (bar graph), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html (pie chart), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist.html (histogram), https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.boxplot.html (box and whiskers plot), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html (scatter plot), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplot.html (subplot graphs), https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.stackplot.html (stackplot graphs)

Source(s): https://www.youtube.com/watch?v=DAQNHzOcO5A (Keith Galli)

The code, dataset and graphs that I put into the 'Matplotliblearn' folder is taken from and in order of this video's contents.



6. Matplotlib Practices

Source(s): https://pynative.com/python-matplotlib-exercise/ (PyNative)

The coding excercises, dataset and graphs I put into 'Matplotlibpractice' folder is taken from and in order of this website's contents.

Dataset analysed here (Company Product Sales data)

Practices done by myself. Solutions that look quite different from my answers (or if my answers are wrong) I have attached the solutions in the folder as well.



7. Numpy, Pandas, Matplotlib Real Life Practices

I wanted to be able to practice using these Python Libraries in real life context. Here are some of the real life practices.

Source(s): https://www.youtube.com/watch?v=0P7QnIQDBJY (Keith Galli)

The code, dataset and graphs that I put into the 'NumPy,Pandas,Matplotlib,Real_World_Practices' folder is taken from and in order of this video's contents.

Datasets analysed here (Gas Prices data) and here (FIFA data)



Thoughts after the learning journey

Learnt some stuff surrounding the context behind these 3 libraries. Numpy serves as the base that Pandas and Matplotlib are built on.

An important thing I learnt through learning these Python Libraries is that as a programmer you are not expected to remember every single command and the context in a library since it is quite impossible, even for veteran coders. But I feel what makes them a veteran is that while coding they have this instinct that tells them that there is various possible ways/solutions to do the code/bug. Even if they can't remember the precise way to do it they can always google it up and find what they want. Beginners might not even know what they don't know, and I feel this is what seperates veteran from new programmers. So keep coding, in order to get this 'instinct' to improve your coding skills!

A handy way to search for a command/codes in a documentation you are looking for is through using the web's 'Word Search'. Example: You want to figure out how to label pie chart in Matplotlib, but don't know the command. You can simply word search label, and see if any 'Label' words pops up in the website either in the description of a code or if you're lucky, the command for label might just be 'Label'.


To be improved:

  • More learning and practices can always be done to further your understanding of the commands and the library itself.
  • Can do some practices regarding the mathematical aspects of the NumPy library.

Have a gif:

Semantic description of image