Hello everyone. So far we have studied the basic tools offered by Python Standard Library. From today, we study NumPy Library. We're going to sturdy key additional libraries including NumPy, Pandas, and data visualization libraries. First we study NumPy. Then let me first explain how NumPy is different from pure Python standard library. Python is basically a dynamically typed programming language. It means that when you create a list with 10 elements, the computer saves the values of elements but also their types in memory. It means that whenever the computer performs operation with the list, it checks values and types. Therefore, pure Python is very inefficient when it process a large amount of data. In order to solve this inefficiency in processing data, NumPy library is created. NumPy keeps the same type of data in arrays. It means that it keeps homogeneous data types in arrays. Arrays are actually sequences of data, as you have seen, in a list. A list can contain different types of data within a list, but in case of NumPy arrays, homogeneous data are contained in arrays. Additionally, all elements of an array, are all of the same size and of the same type. Here, same size means that all data point within array takes the same space, same amount of space in memory. It means that NumPy array elements are standardized in terms of size and in terms of types. That's why computer can efficiently perform operations on arrays. According to previous research, operations on arrays are about 100 times faster than operations on list, so Pandas operating on NumPy, TensorFlow operating on NumPy. NumPy is the basis of higher-level packages like Pandas, and SciPy, or TensorFlow, because NumPy handles numerical data, especially numerical data efficient. That's why it is very popular library. Then how NumPy is different from TensorFlow? Basically, TensorFlow is a optimization tool. TensorFlow construct a computational graph. After constructing computational graph , data is supplied. Then based on TensorFlow algorithm , optimization is implemented. So TensorFlow allows the users to create an object-oriented representation of the entire computation. This is computational graph. Basically, even though you don't understand the concept of computational graph, don't worry, later when you're studying AI programming, you will learn computational graph concept. But basic concept of computational graph means that you construct data crunching, data analysis pipeline. You make a working process, whole factory data crunching, data analysis process. Then you feed data to that process. Then the outcome is the learning of a computer. TensorFlow is basically an optimization tool. For optimization, we need calculus. TensorFlow offers calculus calculation, calculus operation for optimization. TensorFlow and NumPy are complimentary with each other. Then finally, you may ask why we need Pandas library if we have Numpy and TensorFlow, we can do AI analysis, then why do we need Pandas? We live in a world where big data is produced. In case of big data, what is one feature of big data? Various data types are collected within large size of data. It means that NumPy is specialized in handling numerical data. But nowadays, there are text data, graphical data, image data, audio data, there are so many data are collected. In order to handle those different data types, we need Pandas, panel data analysis, or sometimes it is also interpreted as Python data analysis. In case of Pandas, there are many tools, but Pandas Series and DataFrames are often used in data analysis. Series and DataFrames can flexibly handle the datasets of different types. In a big data world, we need Pandas on top of NumPy. Those libraries are key libraries nowadays for AI coding. Before closing this video clip, let me give you a review question, true or false. NumPy and Pandas are key libraries for the big data analysis and AI development. Yes, it is true. That's what I just explained.