Complete Python NumPy Tutorial (Creating Arrays, Indexing, Math, Statistics, Reshaping)

Поделиться
HTML-код
  • Опубликовано: 19 дек 2024

Комментарии • 548

  • @KeithGalli
    @KeithGalli  2 года назад +15

    I created a second channel with more Python content, check it out!😊
    ruclips.net/user/techtrekbykeithgalli

  • @Noartisthere
    @Noartisthere 4 года назад +194

    I'm a 38-year-old starting to learn coding and an interest in machine learning. Your easily understandable videos are a huge help for beginners like myself.

    • @dunzek943
      @dunzek943 4 года назад +20

      Keep going my man. Learning only stops after you die!

    • @investandcyclecheap4890
      @investandcyclecheap4890 4 года назад

      I just started myself ! This one was really great! I liked the problems at the end

    • @LC-wv7tz
      @LC-wv7tz 4 года назад +18

      I'm 28 and learning all this too. My degree is in physics and mathematics, but I have very little coding experience. I just got hired for a job. The hiring process and application was very strange, extremely vague. Long story short, after a month it's become apparent to me that while my job title says "physicist", the work my department is doing is much closer to data science, data analysis, and the occasional modeling and simulation. Learning all this stuff makes for a good use of the mandatory telework days, though.

    • @techtbe
      @techtbe 2 года назад

      Me too

    • @muralidhar40
      @muralidhar40 10 месяцев назад

      Hi man, I am 35, from India, and I m in the same boat as u.

  • @leaddiet
    @leaddiet 4 года назад +134

    As a newbie, I deeply appreciate you showing an error you got on the fly and voicing your thought process while you resolved it. That is something I don’t typically see in tutorials or pre-recorded lessons and it’s really great to have a chance to mirror someone’s thought process while still developing your own techniques. 10/10

  • @maganaluis92
    @maganaluis92 5 лет назад +228

    I've been using Numpy for 3 years and this is quite informative for me. Pay attention guys.

    • @mad8ry
      @mad8ry 4 года назад +1

      may I ask you what kind of job you do? I have learned python and I have a solid understanding about it, but I don't know which way to go

    • @FirstnameLastname-ys1up
      @FirstnameLastname-ys1up 4 года назад +4

      @@mad8ry go somewhere. Go where you can.

    • @mad8ry
      @mad8ry 4 года назад +1

      @@FirstnameLastname-ys1up Is this suppose to mean something?

    • @FirstnameLastname-ys1up
      @FirstnameLastname-ys1up 4 года назад +4

      @@mad8ry it means you are lost.

    • @shervintheprodigy6402
      @shervintheprodigy6402 4 года назад

      @@FirstnameLastname-ys1up BRO
      I do ML videos and even this is informativer for me!!

  • @adt2895
    @adt2895 2 года назад +13

    I am a PhD student in Statistics, but currently a ML intern at Microsoft and your videos are the only thing that help me transition from the statsy R-coding world to Python. Thank you!

    • @KeithGalli
      @KeithGalli  2 года назад +2

      Very happy to hear that! :)

  • @GreyBandanna
    @GreyBandanna 5 лет назад +55

    Nice to see these new and fresh tutorials. Biologist here, learning all the Python I can for data analysis in my spare time. Your presentation of the documentation makes the information invaluably easy to understand, really. Thank you very much

  • @KeithGalli
    @KeithGalli  5 лет назад +259

    Video Timeline!
    Background Info
    1:15 - What is NumPy
    1:35 - NumPy vs Lists (speed, functionality)
    9:17 - Applications of NumPy
    Code
    11:08 - The Basics (creating arrays, shape, size, data type)
    16:08 - Accessing/Changing Specific Elements, Rows, Columns, etc (slicing)
    23:14 - Initializing Different Arrays (1s, 0s, full, random, etc...)
    31:34 - Problem #1 (How do you initialize this array?)
    33:42 - Be careful when copying variables!
    35:45 - Basic Mathematics (arithmetic, trigonometry, etc.)
    38:20 - Linear Algebra
    42:19 - Statistics
    43:57 - Reorganizing Arrays (reshape, vstack, hstack)
    47:29 - Load data in from a file
    50:20 - Advanced Indexing and Boolean Masking
    55:59 - Problem #2 (How do you index these values?)
    Thank you for watching! Hope you enjoyed and let me know if you have any questions!
    Subscribe pls if you haven't

    • @keegan7736
      @keegan7736 5 лет назад

      helpful cheers

    • @JR-gy1lh
      @JR-gy1lh 5 лет назад +2

      Keith Galli, I know this is specific to Numpy, this is a pandas specific question. If I wanted to convert a column in place of a DataFrame from byte type |S32 to string what's the best way to do this. I've been unsuccessful in changing the datatype in place using applymap from |S32 to as string. I'm using a library that create DataFrames in which strings are typecast to bytes.

    • @tejasnareshsuvarna7948
      @tejasnareshsuvarna7948 5 лет назад +29

      Hello Keith Galli. I made notes for your Video. The video was really good. thank you.
      docs.google.com/document/d/1Pk13GuHdKotR0SR3PFsi0MzpMzj1m4bo9DEllm9tsrY/edit?usp=sharing

    • @deepakSharma-db6fj
      @deepakSharma-db6fj 5 лет назад +2

      you missed the np.arange.reshape, which was part of the basic ..... but good job

    • @madhuchandragiri4391
      @madhuchandragiri4391 5 лет назад +2

      Make video on pandas, matplotlib & datascience

  • @smolboyi
    @smolboyi 5 лет назад +43

    I love the density of data given in this video and the inclusion of mistakes in the code writing, thank you greatly!

  • @zana3d
    @zana3d 3 года назад +3

    Thank you so much for this. I am 44 years old making the transition to Data Analysis and enjoying the lessons. I struggled with the final assignment at the end so I hope more practice will help me grasp the concepts better. Cheers.

  • @hellothere9298
    @hellothere9298 Год назад +2

    Thank you for the great course but most of all thank you for not being messy and going every where. Most tutorials dont follow any logic and jump from one thing to another without any logical line
    Definitely the BEST tutorial i have watched !

  • @suryamgupta4467
    @suryamgupta4467 3 года назад +9

    This is an incredible video on Numpy, covering sooo many basic things and explaining them so freaking well. I have been on this video since 3 days, continuously learning from this video, documentation, geeksforgeeks, stackoverflow, also made 7 programs myself to try out every method myself and I have enjoyed every single moment. Thank you so much man!

  • @willingwinning
    @willingwinning 3 года назад +1

    Amazing video! Thank you so much. I'm 37 and have started tinkering with coding and python. It's so much fun!

  • @jpaldama9963
    @jpaldama9963 4 года назад +2

    I did NOT know you can 'put' matrix 'inside' a larger matrix like the way you demonstrated. That was real awesome. my jaw dropped and started laughing. This math world i live in makes learning and programming so much more better and insightful. 3 hours passed after I finished my data session. Thanks for the prime grade content!

  • @Boringpenguin
    @Boringpenguin 4 года назад +3

    This tutorial is great, thank you so much!
    Just an extra note about Problem #2
    For the second question, we can also get the offsetted diagonal by the following neat way:
    np.diag(a, k=1)
    where k specifies the number of offset, the default will be k=0

  • @neptunesbounty1786
    @neptunesbounty1786 4 года назад +85

    Getting me through lockdown!

    • @KeithGalli
      @KeithGalli  4 года назад +15

      Glad to hear it! Stay safe & healthy friend :)

  • @alexwu7111
    @alexwu7111 4 года назад +1

    this video is very good for beginners. its because you can know more about Numpy and know how to convert numbers in programming.

  • @millionwolves
    @millionwolves 4 года назад +8

    No one has ever kept it this simple and straight. You saved me a lot of time. Keep up the good work !

  • @lesegokgatshe6051
    @lesegokgatshe6051 4 года назад +3

    I am new in Data Science and i would like to thank Keith for his informative videos, he's simply the best

  • @dawnfantasy
    @dawnfantasy 4 года назад

    quiz at 56:42, we can use the trick tough before.
    to30 = (np.array(range(30))+1).reshape((6,5))[0:4,1:5][(np.identity(4)==1)]
    print(to30)
    1. generate an array.
    2. transform to 6x5 martix
    3. cut the 2/20 square.
    4. use identity matrix+comparison to obtain the items.

  • @KenderGuy
    @KenderGuy 6 месяцев назад +1

    Very well explained, and though I'm not an absolute beginner, it wasn't going too slow. I'll definitely watch your Matplotlib video next

  • @cyberloh
    @cyberloh 3 года назад +1

    i been afraid i'm to bad with maths to look at data science - really. but now i seen your vids, thanks so much man! that's all so easy

  • @KiranSharma-ey6xp
    @KiranSharma-ey6xp 3 года назад +1

    Thanks for sharing, had saw Pandas and NumPy tutorials, useful information covered in tutorial videos 👍

  • @anthonygrear6226
    @anthonygrear6226 4 года назад +1

    I'm glad you included the quiz. I actually need to slice a 2D matrix diagonally, and then the solution just appeared! All around good video.

  • @samuelmcdonagh1590
    @samuelmcdonagh1590 4 года назад +1

    Sat through this taking notes, 500 lines of notes and code. Fantastic video, thanks.

  • @ksrajavel
    @ksrajavel 4 года назад +1

    Simply the best tutorial for a beginner!!!
    Taking time to introduce the numpy.reshape function( happened at 75th percentile of the video) is very great!!!
    Many tutorials just jump right into the reshape function.
    Thanks a lot Keith Galli

  • @Arkssa
    @Arkssa Год назад +1

    Nice job doing an intro explaining why NumPy is so powerful before heading to the how-tos

  • @meganamedeo3612
    @meganamedeo3612 3 года назад +2

    super informative. I'm currently taking a class for data science and this video REALLY helped! felt like i learned more from you than my class.

  • @xyzzyx9357
    @xyzzyx9357 5 лет назад +13

    After searching a lot, finally I found a great tutorial on numpy with everything I want to learn. Thanks a lot sir.

  • @SimonYells
    @SimonYells 2 года назад +1

    I'm halfway through the video and so far so good. Nice tutorial !

  • @JLSXMK8
    @JLSXMK8 4 года назад +1

    14:50 You can also compare the itemsize function results as well; This can come in useful when figuring out how much relative space one data type uses over another; Along with the thing that @Keith Galli says, you can also print stuff such as print(a.itemsize < b.itemsize), or print(b.itemsize - a.itemsize).

  • @abeldantas
    @abeldantas 5 лет назад +1

    56:53
    a = np.array([i+1 for i in range(30)])
    a = a.reshape([6,5])
    a[[i for i in range(4)],[i+1 for i in range(4)]]

    • @abeldantas
      @abeldantas 5 лет назад

      You can also use arange instead of range:
      a = np.arange(1,31,1)

    • @abeldantas
      @abeldantas 5 лет назад

      Or linspace:
      a = np.linspace(1,30,30, dtype=int)

    • @abeldantas
      @abeldantas 5 лет назад

      There are tons of ways to do it:
      np.r_[1:31].reshape(6,-1)

  • @thehanke
    @thehanke 4 года назад +23

    *pulls plug off the back of the neck*
    *NEO's voice, in my head, right now*
    "I know NumPy"
    Awesome video mate.
    Cheers for sharing this.

  • @tempura_edward4330
    @tempura_edward4330 4 года назад +1

    Hi Keith just wanna say thank you very much for this video!! After watching your video, I went from no experience with pandas and little knowledge of python programming to now learning data science in a bootcamp!
    This video really changed my life!👍👍🌟🌟

  • @shashankshekhar1956
    @shashankshekhar1956 3 года назад +1

    one of the best video on numpy that covers all the fundamental operations by numpy...... highly recommendable for learners 😊😊

  • @martintoilet5887
    @martintoilet5887 3 года назад +1

    Short but informative, also showed how powerful NumPy is.

  • @ronweasley5573
    @ronweasley5573 3 года назад +1

    This was simple, short, easy to understand while covering all major topics! plus if you know pandas then it's more easy ;)

  • @xavierfournat8264
    @xavierfournat8264 4 года назад +2

    Brilliant piece of content. Most valuable way to spend 55min of your time!

  • @howkre8ive
    @howkre8ive 4 года назад +5

    This was extremely helpful! I appreciate the fact your video was organized into individual lessons. I'm an old guy just learning python/numpy. Thank you for your time!

  • @juliesampson162
    @juliesampson162 4 года назад +3

    Keith - thanks so much for spending your time to make these helpful and time-saving videos for folks such as myself who are learning new skills and technologies. The structure is straightforward and not oversimplified. Also, thanks for not inflating them with unnecessary complexity! I really appreciate the format of a background + "api walk-through" style and the inclusion of a selectable timeline for the option to pick and choose what I need for me at the moment. You rock dude!

  • @HazemAzim
    @HazemAzim 3 года назад +1

    Probably the best explaining NumPy ! Thank you

  • @msc-clk
    @msc-clk 4 года назад +1

    I watched linear algebra (4 min with x2) part and thank you for your great video. Great effort.

  • @KashyapBhat
    @KashyapBhat 4 года назад +1

    I dont know how you you did it, but its difficult for me to sit in a code lecture for 1 hour and I understood and was lively till the end of this video. Love it man thanks. ❤️

  • @hectormotsepe1581
    @hectormotsepe1581 4 года назад +2

    Thank you, Keith Galli
    Keep up the good work

  • @misterjava2926
    @misterjava2926 4 года назад +1

    I am currently going through your data Science Playlist. Thank you very much. This was even better than the Pandas Tutorial. You should include small tasks an questions in all of your tutorials.

  • @keyurrathod1624
    @keyurrathod1624 4 года назад +2

    I've started using numpy just two days back and I find this content like God level. Extremely concise and step-by-step guide to the world of arrays and more with Numpy library. Kudos to Keith. Love from a junior Python coder.

  • @lawchakra7813
    @lawchakra7813 4 года назад

    I had to watch all ads because of ur hard work.

  • @shreyaskalrao9779
    @shreyaskalrao9779 4 года назад +2

    Veryyyyyyy helpful. Went through your Pandas tutorial as well yesterday. Got many doubts cleared! Helping me be productive in the lockdown. Thanks xD

  • @acquaviva_doxa5335
    @acquaviva_doxa5335 3 года назад +1

    Thanks, I needed this simple and organized background. Now I can build from here. Thanks again.

  • @niyousha6868
    @niyousha6868 4 года назад +1

    Thank you Thank you Thank you.... I watched almost all your channel videos in this quarantine. I learned a lot. I just wanted to say thanks.

  • @mampiisaotaku
    @mampiisaotaku 4 года назад +2

    hi! just wanted to say that ur videos are helping a lot. i just started to learn python for fun, aaaaaaaaaaaaaand it appears that it is helping a a lot in my job. it makes things way easier. AND THANKS TO YOU, i can learn thing more faster. wish you the best mate.

  • @willalston9627
    @willalston9627 5 лет назад +4

    I've been teaching myself Python and ran into your videos the other day. The delivery was informative and entertaining in its simplicity. Thank you: great videos!

  • @kushagrak960
    @kushagrak960 5 лет назад +3

    You don't know how much you helped me with your Numpy and pamdas videos. Thanks a ton bro. God bless you. Lots of respect ❤️

    • @KeithGalli
      @KeithGalli  5 лет назад

      Really happy to hear that man! You're very welcome :)

  • @nishantshri97
    @nishantshri97 5 лет назад +16

    very helpful video ,love from india,i watched pandas video yesterday ,today i searched for numpy ,i am luckiiiii that u uploaded just 1 day back.Please make some more video on Datascience

  • @rafaelaprende
    @rafaelaprende 5 лет назад

    #Exercise 56:20
    k1 = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])
    print(k.size)
    print()
    k2=k1.reshape((6,5))
    print(k2)
    k3=k2[2:4,0:2]
    print(k3)

  • @chasec.1799
    @chasec.1799 4 года назад +2

    Great Videos, I am starting to learn so much about Python because of all of your great videos. Thanks Keith.

  • @ksrajavel
    @ksrajavel 4 года назад

    For Prob#1, I used the following code,
    a = np.zeros((5,5), dtype = 'int16')
    a[(0,4),:] = 1
    a[:,(0,4)] = 1
    a[(2,2)] = 9

  • @SyedAli-sx6gh
    @SyedAli-sx6gh 5 лет назад +17

    Great tutorial man, really helped me understand the library

  • @sreekanthreddy5998
    @sreekanthreddy5998 4 года назад +3

    This the very first channel that I've seen such a clear explanation

  • @songgahyeon
    @songgahyeon 3 года назад

    I've never heard of it before. It's hard, but I'll try to copy it slowly. Thank you.

  • @akramelomrani8728
    @akramelomrani8728 4 года назад

    33:41 another cool method
    a = np.ones((5,5))
    a[1:-1,1:-1] = 0
    a[2,2] = 9
    print(a)

  • @jamesjohnathan4424
    @jamesjohnathan4424 4 года назад +5

    Awesome tutorial, simple n clear. Keep up the good work!!!

  • @nataliabarbaramantillabeni6129
    @nataliabarbaramantillabeni6129 4 года назад +1

    Excellent tutorial! Thank you very much! I really appreciated that you provide a clear and concise overview of a broad number of topics that are critical to getting started.

  • @umeshbatra3783
    @umeshbatra3783 5 лет назад +10

    Just one word, Awesome. Delivered the content with so much ease. Looking forward for some more videos on Data Science :) :). Already subscribed

  • @sadbadmac
    @sadbadmac 4 года назад

    Also quick tip for anyone having trouble remembering documentation/positional arguments: get Kite! Its an AI-based software that follows your cursor and shows most frequent use cases, documentation and other useful tooltips as you type or hover over a function/variable etc. It even shows you what datatype your output is going to be e.g. from int to ndarray if you pass a size=()

  • @pawanpu3202
    @pawanpu3202 5 лет назад +9

    Nice tutorial was waiting for this since so many days😊
    Thank you so much love from India ❤️

  • @howardxian
    @howardxian 4 года назад +1

    Cool. Better than many paid course in Udemy!

  • @joeasmar4197
    @joeasmar4197 3 года назад +2

    You made it so easy! Thank you. Will definitely be using this video as a reference in the future. Keep up the great work :)

  • @מיריתישראלוביץ
    @מיריתישראלוביץ 3 года назад

    thank you so much!
    i just start using python, and it really help me.

  • @dileepsathyan9001
    @dileepsathyan9001 4 года назад +2

    Helps me during the lockdown study hours. Thanks Keith!

  • @priyanshugupta7591
    @priyanshugupta7591 4 года назад

    this was much better than the courses on coursera or udemy, thx for the indepth knowledge you provided.

  • @shankarnarayananiyer5296
    @shankarnarayananiyer5296 4 года назад +1

    Great content. The concept is explained in a steady pace and great reasoning. A new subscriber from India.

  • @claire2247
    @claire2247 3 года назад

    I really like how non-condescending you are when explaining through each function!

  • @mayurshinde7443
    @mayurshinde7443 Год назад

    This was super helpful, Thanks Keith!

  • @grapesalt
    @grapesalt 3 года назад

    a single line solution for problem one
    ```python
    output = np.pad(np.pad(np.array([[9]]), pad_width=1), constant_values=1, pad_width=1)
    ```

  • @kayveekhatrao2486
    @kayveekhatrao2486 4 года назад +2

    Definitely content worth watching and learning during this lockdown
    Thank You.

  • @Pyazdan
    @Pyazdan 3 года назад

    You are amazing. I have to coding background, yet I'm able to follow you. Thank you for the videos.

  • @zedor1553
    @zedor1553 3 года назад

    My method for the matrix
    a = np.ones(25, dtype=int).reshape(5,5)
    a[1:4,1:4]=0
    a[2,2]=9
    a

  • @anitachen8887
    @anitachen8887 3 года назад

    Awesome tutorial !!! Many thanks!! Already liked and subscribed !

  • @inhibited44
    @inhibited44 3 года назад

    watched to see what numpy does. I am considering taking a coursera course in python data science using numpy and panda.

  • @SMFahim-vo5zn
    @SMFahim-vo5zn 5 лет назад

    Just finished it on FreeCodeCamp and came here to give it a like. Looking for more videos like this! Take love!

  • @ravihunsa
    @ravihunsa 5 лет назад

    very nice Keith Galli, worth session to the beginners to learn Numpy library. Thanks

  • @Sehyo
    @Sehyo 4 года назад

    For 16:05, "fit your data as tight as possible" is often not the best approach for SIMD (GPU, etc) computation.
    When performing SIMD, you want to have "coalesced memory", so you want to choose the smallest size that still guarantees a coalesced memory structure.

  • @Damientrades
    @Damientrades 3 года назад

    Great video just started to Learn python your videos help Lot thanks bro 2021

  • @DhruvSharmal0W
    @DhruvSharmal0W 4 года назад +16

    Bro TYSM for this content - Lotta respect and love to you :)
    Tbh this is far better than udemy/coursera/edX

    • @danielgarza455
      @danielgarza455 4 года назад

      A lot much better than coursera(¡And Free!)

  • @JamesJon1187
    @JamesJon1187 3 года назад

    THanks for the vid! Besides the clear and simple teaching, the interspersed questions were great!

  • @subhajitadhikary155
    @subhajitadhikary155 4 года назад

    awesome video keith, really helped me a lot with numpy for a beginner like me
    U are doing great job

  • @slashlawirn3888
    @slashlawirn3888 3 года назад

    This tutorial is a life saver. Thanks, man.

  • @JRAnalyzes
    @JRAnalyzes 4 года назад +1

    I have to say your content is helping me tremendously. I don't understand how you do not have more subscribers but I guess since there are so many people trying to do what you do here on youtube it can be a little tough to stand out? idk man but hope youre channel grows more you deserve it compared to silly channels like techlead. Maybe get flashier with some content? lol anyways thanks again and keep up the awesome work!

  • @VSH077
    @VSH077 4 года назад

    Very good video. Self explanatory. Thanks a lot for bringing this up.

  • @inhibited44
    @inhibited44 3 года назад

    I wrote a regression analysis program years ago for my own use using asp . It took me hours to write out matrix multiplication code. That numpy multiplied matrix in 5 seconds - lol.

  • @lxlx19
    @lxlx19 4 года назад

    Tks Keith. you're a great teacher. It was enlightening. Greetings from Brazil

  • @nimeesha0550
    @nimeesha0550 3 года назад

    Great Job Keith!
    Helped me a lot. Thanks a ton!

  • @jifengzhang3863
    @jifengzhang3863 3 года назад

    This was indeed useful, thank you Keith for making it!

  • @ghanashyamtalwalkar6366
    @ghanashyamtalwalkar6366 4 года назад

    Found your NumPy tutorial very helpful...Thanks!!!

  • @luisvera8431
    @luisvera8431 4 года назад

    Thanks Keith! i found this tutorial very helpful and easy to follow

  • @mikeafter5
    @mikeafter5 2 года назад

    Thanks for including the background..

  • @Muzeemkhankamaal
    @Muzeemkhankamaal 4 года назад

    Awesome tutorial Keith!!! Thanks a lot for sharing your knowledge with us! !!!!

  • @dipendrapant1
    @dipendrapant1 4 года назад

    #31.37 timestanp
    import numpy as np
    arry_9 = np.ones((5,5))
    arry_9_int = arry_9.astype(int)
    for i in range(1,4):
    for j in range(1,4):
    arry_9_int[i,j] = 0
    arry_9_int[2,2] = 9
    print(arry_9_int)

  • @Burakyesilvlogs
    @Burakyesilvlogs 4 года назад

    Great Video. Thanks for the overview of NumPy.

  • @endtropi
    @endtropi Год назад

    Very useful tutorial! Really helped me. keep on!