Thanks for this awesome tutorial. It's just what I needed to jump start my use of NumPy and I like how you followed a general flow with the NumPy : the Absolute Basics for Beginners documentation. I just learn better through visuals so this was perfect. I especially appreciated when you gave some insights as to when you'd use a certain method, like with indexing and filtering. I'm new to DS and ML so that added context is awesome! More of that please! Thank you!!!
I liked this video a lot. I followed it by coding with you and also using GPT4 to fill my mathematical gaps. I especially liked the linear system example.
the more i learn, the more i am appreciate about learning, the more i can put learning to good use.... and the more quality of life and ongoing strengthening and growth of the individual i experience. it is almost as if my time is worth nowhere near a fraction of yours, like some kind of silly goose ... i consider myself now dumber than 6 years ago. that is how much growth ive experienced.
At 41:20, thanks for pointing out, as an aside, how something like a.max() can also be used as a function np.max(a). For the life of me, though, I can't understand why there are two ways to do operations like these in python especially since they do exactly the same thing. I mean, both leave the a untouched (they don't change it in place) so I don't know why np.max(a) with reassignment isn't the unique way of doing it.
Excellent tutorial, thanks! Just one comment: you refer to some resources that should be linked in the descriptions (e.g., data loading tutorial), but are not there. Maybe you could add a comment saying where they can be found now.
Wonderful lecture. Just have one doubt, I dont understand the use of newaxis, since we already have reshape that can achieve the same results.Is there an example maybe where newaxis is used and reshape cant be used to achieve the same results?
At 18:10, it would have been nice if you explained what exactly the (2,) stood for when we have just one dimension: it seems like it stands for two rows and no columns, if you go by the syntax for the shape of multidimensional arrays. But that would mean it's an array "standing up", which is the transpose of what we typed in. So i suspect it means no rows and two columns, i.e an array "lying down", i.e. exactly what we typed in. Also, any idea why the transpose is just an attribute of the object i.e. a.T, whereas the diagonal is a full numpy function called on the object a i.e np.diag(a). To a beginner, or even intermediate user, it seems totally random and inconsistent when one uses methods and when one use functions, and also whether those functions are directly from the module np. e.g. np.diag or from an intermediate object e.g. np.linalg.det etc. It amounts to committing everything to memory. I thought the whole point of coding was that it was more elegant and consistent than this.
Hello, thank you so much for the video; really useful and helpful! Quick question please: at 21:21, why is the determinant not exactly equal to -2? I am thinking it has to do with the int64 property, but I am not sure.
Excellent video! I learnt so much. I did have a question thought. In the section for data types you gave us an example with a 1D array. Suppose we need to force the datatype for a 2D array, what would be the syntax in that scenario? I tried yours but it did not take.
@@patloeber hey, hope you didn't take this as offensive. Coincidentally, I was bored and I started watching Conan's(comedian) videos of berlin. From there I got the idea. BTW, I love Germany, its a dream destination for me. Love and peace from India. And I apologize if you find it offensive.
@@Kig_Ama check if pycharm is 32-bit. I checked numpy documentation and it said "The desired data-type for the array. If not given, then the type will be determined as the minimum type required to hold the objects in the sequence." You can always force to int64 though.
@@mohsinansari8271 My pycharm should be 64 bit, at least thats what it says when I look it up by clicking About in the menu Help. Could it be that this is some weird windows issue? I found this here at stackoverflow: _"Default integer type __np.int__ is C long....But C long is int32 in win64."_
i think this is a fantastic use of python. the learning has been learned, no need for anybody else to be impressed with learning. we need more coal miners :)
Topics not that clear - slicing of 2d arrays, np.newaxis, np.random(random vS randn - especially the 'meaning of distribution'), linalg part(involving eigenvalues and allclose) module