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 3 of its 6 core libraries i.e., 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 They are its six core libraries including NumPy, SciPy library, Matplotlib, IPython, Sympy, and pandas This website provides very abundant resources Look at NumPy, for instance Look at its tutorial Does it contain many examples, including operation results Very convenient, right Look at Matplotlib now, another example Its official website also provides highly abundant examples and documents Look at the sample plots This plot, for example We may see its plot variations and corresponding source codes Quite appealing, right So, we should get used to using official websites since they help us more conveniently get resources and the information is often the latest and most authoritative SciPy uses some extension forms of standard data structures of Python like ndarray N-dimensional array, Series (variable-length dictionary) as well as DataFrame (data frame) Let's have a look 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 For some scientific computing like linear algebra and random number processing 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, so there must be many "1" Let's check its result It sure is 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 its most striking feature is for common questions in scientific computing like interpolation, integrals, and optimization it has some very good applications 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 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 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, it has the efficient Series and DataFrame data structures, especially DataFrame data structures, 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