1 00:00:00,300 --> 00:00:06,500 And we will come back to the request of our course about the complete introduction to The Science Show 2 00:00:06,540 --> 00:00:13,470 until now, we talked about statistics and I hope you guys have a good understanding of this topic. 3 00:00:14,250 --> 00:00:22,350 Now it's time to get a bit more into action and to learn about some tools that are used in data science 4 00:00:22,350 --> 00:00:29,070 and when we are analyzing data so it can also be used in machine learning as well as deep learning. 5 00:00:29,940 --> 00:00:32,550 So basically one of those tools is no. 6 00:00:32,970 --> 00:00:35,500 So in this class, we are going to have an introduction. 7 00:00:35,910 --> 00:00:39,300 We are not going to practice what it is going to be in the next few classes. 8 00:00:39,300 --> 00:00:45,210 But in this class, we are going to talk about what is no what's the difference between lumpy and lists 9 00:00:45,360 --> 00:00:52,240 and what are the advantages of using numpty in general versus Python lists, of course. 10 00:00:52,830 --> 00:00:53,650 So let's. 11 00:00:54,640 --> 00:00:58,820 So basically non P stands for numerical python. 12 00:00:59,250 --> 00:01:06,210 And what you guys need to understand is that it's a Python library that consists of multidimensional 13 00:01:06,240 --> 00:01:12,070 arrays, objects and a collection of routines for processing those areas. 14 00:01:12,450 --> 00:01:18,530 So basically numpty, as I said, it's it's a library in Python. 15 00:01:18,810 --> 00:01:23,910 So there are many features of them that, well, that he has. 16 00:01:24,720 --> 00:01:31,410 First of all, it will allow you multi will allow you using multidimensional arrays, which is pretty 17 00:01:31,410 --> 00:01:36,810 cool and will fester will will allow you to make faster operations. 18 00:01:36,810 --> 00:01:42,090 So if you need to make faster operations that will allow you to make faster operations, it has the 19 00:01:42,090 --> 00:01:44,390 functions and operators for those areas. 20 00:01:44,400 --> 00:01:49,890 So once again, you will be able to create one dimension, two dimensional, three dimensional areas 21 00:01:50,190 --> 00:01:56,130 and you will have different functions and operators that will be used with those areas too fast to make 22 00:01:56,130 --> 00:01:57,990 it faster for all the calculations. 23 00:01:58,980 --> 00:02:01,350 It's a good alternative for Matlab. 24 00:02:01,360 --> 00:02:10,950 So for the for those of you who know what that is, it's a python alternative for this, for Matlab 25 00:02:10,950 --> 00:02:11,520 in general. 26 00:02:13,570 --> 00:02:15,830 Also, it's a four year transform. 27 00:02:15,860 --> 00:02:22,560 It's well, the four year transforms and shape manipulation, so it will allow you to have shape manipulation. 28 00:02:22,570 --> 00:02:31,450 So when you create your 3D, multitenant, multidimensional areas, you will be able to well, to use 29 00:02:31,480 --> 00:02:34,690 the shapes and control the shape manipulation. 30 00:02:35,140 --> 00:02:40,780 And finally, there is linear algebra and random number generation that is integrated to it. 31 00:02:41,020 --> 00:02:49,000 And with linear algebra, you will be able to work faster your calculations because using multi multidimensional 32 00:02:49,000 --> 00:02:56,920 areas will allow you using linear algebra as well and faster this way your calculations. 33 00:02:58,810 --> 00:03:02,080 So once again, there are plenty of advantages of using them. 34 00:03:02,260 --> 00:03:06,710 So as I said, the first of all would be the area oriented computing. 35 00:03:07,030 --> 00:03:09,620 So those are areas that we are talking about right now. 36 00:03:09,640 --> 00:03:15,460 So this would be one dimensional area, two dimensional areas, and those are three dimensional areas. 37 00:03:15,460 --> 00:03:19,880 So here it's presented very, very simply. 38 00:03:20,140 --> 00:03:22,350 Usually the areas that are way bigger. 39 00:03:22,360 --> 00:03:29,440 So the amount of calculations that is here is well, that you will be able to do by using numpty is 40 00:03:29,440 --> 00:03:33,350 pretty huge versus working with the Python list. 41 00:03:33,370 --> 00:03:39,730 For example, it's the efficient, multidimensional, well, efficient, multidimensional area implementation. 42 00:03:39,760 --> 00:03:42,370 So this is exactly what I was talking about. 43 00:03:42,380 --> 00:03:45,120 So there are it's really, really efficient. 44 00:03:45,160 --> 00:03:48,400 There are multiple multi arrays. 45 00:03:48,670 --> 00:03:50,980 Multidimensional areas are pretty efficient. 46 00:03:50,980 --> 00:03:57,870 So it will allow you, as I said, to make huge calculations in a fast amount of time. 47 00:03:59,380 --> 00:04:02,330 It's really created for scientific computation also. 48 00:04:03,100 --> 00:04:06,370 So as I said, once again, it's four huge calculations. 49 00:04:06,940 --> 00:04:09,250 So it's not like Python list. 50 00:04:09,250 --> 00:04:10,950 You can use Python this once again. 51 00:04:10,960 --> 00:04:18,820 It will not be as efficient as using no faster resolution of operations on entire arrays of data without 52 00:04:18,820 --> 00:04:23,640 writing loops with the use of standardized mathematical functions. 53 00:04:23,890 --> 00:04:30,400 So as we said before, there is a linear algebra and some other functions and operations that are integrated 54 00:04:30,400 --> 00:04:37,270 with the number that will allow you to make huge operations on arrays well, on three dimensional areas. 55 00:04:37,270 --> 00:04:38,720 That will also be really huge. 56 00:04:39,250 --> 00:04:44,740 And this will save you a lot of times when you guys are making huge operations once again, maybe right 57 00:04:44,740 --> 00:04:48,610 now you don't see why you use this once again. 58 00:04:48,610 --> 00:04:55,780 If you guys create huge programs, the use of is is really recommended. 59 00:04:57,580 --> 00:05:00,790 There are different tools that are integrated with no, first of all. 60 00:05:00,970 --> 00:05:02,650 Well, you can read I read that. 61 00:05:02,890 --> 00:05:04,930 You can read, I read that on disk. 62 00:05:05,210 --> 00:05:07,120 You can write, I read that on disk. 63 00:05:07,390 --> 00:05:13,270 And you can work with different memory map files, which is a pretty good, pretty cool as well. 64 00:05:14,200 --> 00:05:17,600 As we said before, there is an integration of fully transform capabilities. 65 00:05:17,890 --> 00:05:24,850 And finally, as we said in the past, our point there is linear algebra and random number generation. 66 00:05:26,310 --> 00:05:29,710 All right, so finally, numpty versus versus Biton list. 67 00:05:29,740 --> 00:05:37,050 So, as I said, the number is a Python library and the three of the three main reasons of why using 68 00:05:37,050 --> 00:05:43,380 nonpeak, the first one will be it will consume less memory since there is less operations to do. 69 00:05:44,070 --> 00:05:48,090 It will go way faster and it will consume way, way less. 70 00:05:48,240 --> 00:05:56,140 Memory has an execution speed that well, this will bring us to the second point that is having an issue 71 00:05:56,230 --> 00:06:00,170 in the execution speed that is way faster than Python list. 72 00:06:00,540 --> 00:06:07,780 So I said it goes way faster than working with Python Lisk, especially if you guys want to work with 73 00:06:07,800 --> 00:06:08,910 the huge operations. 74 00:06:09,750 --> 00:06:12,390 Once again, this is an interesting thing that I found. 75 00:06:12,390 --> 00:06:16,140 So you can compare the speed of Arizona versus lists. 76 00:06:16,470 --> 00:06:20,550 So as you can see, well, the time is in milliseconds, so it's not even one second. 77 00:06:20,850 --> 00:06:29,220 But you still can see that number is at least four to five times faster than the list than Python list. 78 00:06:30,210 --> 00:06:35,120 So once again, there is a huge well, this is a huge difference, especially if you guys work with 79 00:06:35,140 --> 00:06:40,710 huge operations, if you can with numpty, for example, the result of an operation in one second, 80 00:06:40,920 --> 00:06:45,090 it will take you with Python list, maybe like five to 10 seconds to resolve. 81 00:06:45,120 --> 00:06:52,790 So if you have a set of operations, Numpty is really efficient way to be able to resolve all the operations. 82 00:06:54,030 --> 00:06:56,290 And finally, it's just convenient to use. 83 00:06:56,310 --> 00:07:02,070 So it's pretty much it's not well, you have to get used to it to use it properly. 84 00:07:02,460 --> 00:07:08,450 But it's not that complicated to use since it's a Python library, it's already integrated into Python. 85 00:07:09,540 --> 00:07:16,110 So you guys know exactly what what numpty number is, how? 86 00:07:16,110 --> 00:07:22,590 Well, maybe not how it works, but you know exactly how what what it is, why exactly we use it and 87 00:07:22,860 --> 00:07:27,070 why we prefer using numbers instead of python lists. 88 00:07:27,070 --> 00:07:32,080 So all the advantages and the features of this Python library. 89 00:07:32,700 --> 00:07:35,520 So in the next few classes, we are going to practice a little bit. 90 00:07:35,520 --> 00:07:38,590 Writing Numpty functions with Python, of course. 91 00:07:39,090 --> 00:07:46,190 So you will see what it looks like and you will have a certain introduction to this Python library. 92 00:07:46,500 --> 00:07:49,770 So that's it for this class, guys, and see all in our next class.