Python has currently offered varieties of data structures. But they are still not convenient enough for some scientific and engineering problems. SciPy is a Python-based software ecosystem including some core libraries, like NumPy, SciPy, Matplotlib and pandas. It has quite abundant and powerful data structures and functions. It's also very convenient to use. SciPy is the most extensively used and popular scientific computing library at present. However, since SciPy is a third party extension library of Python, it is necessary to install those core libraries before use. For our convenience, we may also use Anaconda. Next, let's enter the world of SciPy. SciPy is a open-source Python-based software ecosystem. It mainly serves math, science and engineering fields. In this course, we focus three of its six core libraries: NumPy, Matplotlib and pandas. Well, let's look at its official website first. This is the official website of SciPy at "https://scipy.org". A basic explanation to it is offered here. These are its six core libraries. This website provides very very abundant resources. For example, let's have a look at NumPy, say, its manual. Are there a lot of examples including operational results? Very convenient, right? Look at Matplotlib now. It also has many resources, instances, documents and so on. Let's look at the image showroom, i.e., its Gallery(it has been placed in the examples tab now). Look at this image, for example. What's good here is that it also has source codes of these images. Like what we mentioned before, we should get used to using official websites. since they help us more conveniently get resources, and this information is even more authoritative. SciPy uses some extension forms of standard data structures of Python, such as ndarray (N-dimensional array), Series (variable-length dictionary), as well as DataFrame (data frame). Let's have a look at some libraries common in SciPy to be used in our course. The first one is NumPy. NumPy has powerful ndarray objects as well as ufunc functions. What is it suitable for? It's for some scientific computing like linear algebra and random number processing. It's also convenient for connecting with databases. Let's look at an example. We import NumPy. Give it an alias "np". Then, use its "ones()" function to create a 3*4 array. Let's guess what the elements of array are. Ones, there must be many "1". Let's check its result. It is, indeed. It's only one function in NumPy, and we'll see more similar functions later. There is a core library in SciPy. Apart from effectively-calculating NumPy functions, its most striking feature is for common questions in scientific computing like interpolation, integrals and optimization, it has some very good applications providing convenient functions. For instance, we may resort to such a statement to import such a package in the SciPy core library, for algebraic operations. Then, create an array, and use its "det()" function to calculate its determinant. In the core library of SciPy, there are many functions like that. To view them, we may use the manual or help document at the official website, and, based on our needs, choose available functions. Apart from NumPy and SciPy core libraries, SciPy also has the Matplotlib library. It is, based on Numpy, a very useful two-dimensional graphic library. It may easily and quickly generate various graphs like histograms, curve graphs and scatter diagrams. It has a very useful pyplot module, which is able to provide a similar MATLAB interface, These are some graphs generated by Matplotlib, Aren't they beautiful? In later sections, I'll teach you how to generate some of those images and graphs. Besides, the "pandas" library is also quite frequently used. It is based on the SciPy core library and NumPy. It has an essential feature, as we mentioned just now, its has the efficient data structures like Series and DataFrame, ,especially DataFrame. Its ability of data analysis is quite powerful. For instance, let's look at several common examples. If there is a DataFrame object, it may be sliced, just like a list. To view the first lines of data, we may use the "head()" function. For the last lines, it's obviously "tail()". These three code lines are only a small fraction of the "pandas" library. In this section, I've guided you to briefly look at the composition and some characteristics of SciPy. We'll continue later.