@KeithGalli

Hey ya'll! I created a second channel with more Python content (including additional Pandas tips & tricks). 

Please consider subscribing 😊
http://youtube.com/techtrekbykeithgalli

@jcspaziano

I know this is 5 years old but I learned more about using Pandas from this one video than all the other videos ive watched on the topic combined! Just awesome! Thank you!

@piotr5830

Hi Keith - not sure you will read this but wanted to sincerely thank you for this tutorial. 3 years ago this was the first python video I ever watched after graduating from unrelated subject. Today I'm typing this from a business class lounge at JFK, on my way to London where I just got a job as a quant developer at a hedge fund, building pricing models and infra for trading. Worked hard for this but if not for your videos I could be at a very different place. Thank you from the bottom of my heart, your work means a lot to many people. Cheers!

@Miller-c7k

It's really been 6 years since this video but this one single video on pandas is a gem a literal gem.
A heartfelt thankyou man.

@_Nelyen

This video was super helpful, thank you Keith!

In case anyone gets to the end of this video, around 48:00, Keith talks about the groupby operator and starts to go over the section "Aggregate Statistic using Groupby (Sum, Mean Counting)". You might run into errors due something that changed after Pandas version 2.0.0.

Instead of writing: df.groupby(["Type 1"]).mean()
Try writing: df.groupby(["Type 1"]).mean(numeric_only=True)

After version 2.0.0 the numeric_only value was changed to False versus True as it's default, causing errors such as "can not convert strings". Hope this is helpful, have a good one!

@nikithroumpari2553

A strugling biologist here thanks you! We are mostly dealing with big data and it can get a little overwhelming, but you made it a lot easier!

@KeithGalli

Video Outline!
0:45 - Why Pandas?
1:46 - Installing Pandas
2:03 - Getting the data used in this video
3:50 - Loading the data into Pandas (CSVs, Excel, TXTs, etc.)
8:49 - Reading Data (Getting Rows, Columns, Cells, Headers, etc.)
13:10 - Iterate through each Row
14:11 - Getting rows based on a specific condition
15:47 - High Level description of your data (min, max, mean, std dev, etc.)
16:24 - Sorting Values (Alphabetically, Numerically)
18:19 - Making Changes to the DataFrame
18:56 - Adding a column
21:22 - Deleting a column
22:14 - Summing Multiple Columns to Create new Column.
24:14 - Rearranging columns
28:06 - Saving our Data (CSV, Excel, TXT, etc.)
31:47 - Filtering Data (based on multiple conditions)
35:40 - Reset Index
37:41 - Regex Filtering (filter based on textual patterns)
43:08 - Conditional Changes
47:57 - Aggregate Statistics using Groupby (Sum, Mean, Counting)
54:53 - Working with large amounts of data (setting chunksize)

Thanks for watching friends! :)

Let me know if you have any questions

@amiliavachford183

thanks for useful video
If anybody have a problem with calculating the mean of Type 1 grouped data, use this:
df= pd.read_csv('modified.csv')
df.groupby(['Type 1']).mean(numeric_only=True)
instand of this:
df= pd.read_csv('modified.csv')
df.groupby(['Type 1']).mean()
That way, it won't include string-type data in the mean and sum functions.

@prubin18

Great video! One of the best pandas tutorials I've seen.

I have one comment though. When you run (at 40:00)

df.loc[df['Name'].str.contains('Mega')])

You are actually including Meganium in this filter, even though it is not a Mega pokemon. So, one needs to include a space after Mega, such as:

df.loc[df['Name'].str.contains('Mega ')])

One can see that this makes a difference because when you run 
len(df.loc[df['Name'].str.contains('Mega')])) and len(df.loc[df['Name'].str.contains('Mega ')])), to know the number of rows, there are two distinct outputs (respectively 49 and 48)

@hughjazzol

I have bought multiple Udemy courses on pandas and this one blows them all out of the water, and it’s free! I’m deff subbing!

@RisingLoaf

This 1 hour video did more for me than entire semester of my Data Analysis course... Amazing

@shayonghoshroy7208

Best Pandas tutorial on YouTube, especially 24:25

@adedokunagunbiade5324

I watched the entire video in 30 minutes and learned more than I did with hours of video content. Amazing work.

@Orion3000k

Mannnn your one of the best Python go-tos PERIOD. Straight to the point and easy to understand. thanks for teaching us all!

@dicspringdkz8234

Keith
You are  more than a teacher. Your level of simplicity in explaining Python in details is out of the moon. Keep up the good work. Your video is always my “go to” any time. 
Again, thanks a lot for using your skills as a blessing to people around the world.

@remy0705

This 1 hour course is all I need for my data analysis course. This is the best video I found on YouTube. Thanks ❤️❤️❤️

@faizalimuhammadzoda4731

There is something to the way Keith teaches that keeps me coming back. 
Besides being a good teacher and utilizing techniques which help people grasp the material quickly and remember for long time, he sends forth a wave of positivism. He is such a positive, energetic person. 

Thanks for sharing your knowledge. May it grow and enable you to bless more people with it.

@gustinelimurilo

53:30 you can use .size() to get the count of each Pokemon type instead of adding a new column.
It would look like this:
df.groupby(['Type 1']).size()

Great tutorial!!

@LureUnitFtw

One of the best tutorial that I've ever seen in YouTube! Thumbs UP!

@crtnnn

Started my PhD in hydrogeology and learning Python from the scratch. I love your work, keep it up!