Welcome back to Advanced Python Scripting. This is the third course in the Python Scripting for DevOps Specialization. In this module we want to think about some additional Python libraries. In our last module, we specifically looked at the Database library. We looked at how you could connect to both relational and NoSQL databases, here we're going to jump around and look at some things like plotting libraries, processing lists of data quickly and analyzing, cleaning and exploring and manipulating that data. Upon completion of this module, I want you to be able to do several things. One is to describe the use of the NumPy library in scripting. You should also be able to describe the use of the Panda library in scripting. Lastly, describe the use of the Matplotlib library and scripting. In Lesson 1, we'll tackle NumPy. What is NumPy? You say, well, NumPy is a Python library used for working with arrays. Now, you may be scratching your head and saying, you told me earlier that Python does not have arrays. Python has lists and tuples and dictionaries and sets, those are all higher-level data structures. Arrays are a lower-level data structure that are found in other languages, but arrays are faster. You can access data faster, but it's harder to manipulate the size of the collection. You don't have the same methods necessarily with arrays. NumPy has a library that tries to give you that same access you have another programming languages to this faster, lower-level chunk of memory that we can store collections of data. It also has some functions for working in the domain of Linear algebra, Fourier transformations, and Matrices. I'm not going to talk too much about that. Just to reiterate, Arrays versus Lists. In Python, we have lists that serve the purpose of arrays, but they are slow in some algorithms. In some algorithms, that's totally fine, you're not doing that much. NumPy aims to provide an array object that is up to 50 times faster than traditional Python lists. The first thing we're going to do is we want to install NumPy. Like we saw with the database libraries, we can use the pip, which is a package installer that allows us to easily install third-party libraries. Again, pip is installed by default in later versions of Python, and it may be a little different. In my syntax here I'm saying, python -m pip install NumPy. Sometimes pip is called pip3 depending on your implementation but what you figure out how to use pip on your implementation, it will be consistent but this will install NumPy, downloads it from the internet, installs it on your local machine, and then it's now available free to include in your code. Here's an example of NumPy code. We import NumPy that now gives us the ability to call the functions with a NumPy.notation. Here I'm going to initialize an array, I'm passing in a list, so you can pass it in any lists here, I'm passing in a list 1, 2, 3, 4, 5. Now, I've got a reference to an array, and I index into the array the same way we do with a list with brackets, it's starting from zero all the way minus one. A little review here, NumPy allows for arrays in Python, and we want arrays because they're much faster access times than lists have. Lastly, you can install NumPy easily with the pip. All right. See you next time.