For those struggling with the regular expression at 14:57 , you might need to explicitly assign regex = True (based on the FutureWarning displayed in the video). That is: df['Phone_Number'] = df['Phone_Number'].str.replace('[^a-zA-Z0-9]', '', regex=True)
@wenkanglee95968 ай бұрын
gosh you're observant
@ronnelsupnet98508 ай бұрын
Thank you!
@rhodaime798 ай бұрын
My goodness. You saved me. I’ve been at this for about an hour. Thank you 🙏 thank you 🙏
@DevanshAsawa8 ай бұрын
Thanks a lot dude !!!!!! Helped a lot !!!!!!!
@rnjesus99507 ай бұрын
Legend.
@rahulraj3855 Жыл бұрын
Fan from India I just got 2 offers from very good companies thanks to your videos and it helped me transition from a customer success support to Data Analyst
@rozakhan2811 Жыл бұрын
Hey tell me how can I do it too ri8 now I'm working as a customer support executive please help me to grow..
@dywa_varaprasad Жыл бұрын
hey Rahul, how do you learn DA ? Can you share your experience it will be helpful for us!!
@sandeepthukral3018 Жыл бұрын
Hi bro is this course sufficient for beginner to land a job
@abdullahalmahfuz6700 Жыл бұрын
Is this a spam comment?
@TamilKings-x6u10 ай бұрын
@rozakhan2811 skills need is a basic thing...what you want..in that be strong..And way of Alex Teach Videos are Effective..
@tomaronson44197 ай бұрын
For splitting the address at 21:29, you may want to add a named parameter to the value of 2, as in n=2: df[["Street_Address", "State", "Zip_Code"]] = df["Address"].str.split(',', n=2, expand=True)
@user-tm7uw4os1n6 ай бұрын
This helps! Thank you so much!
@nataliarobinson56716 ай бұрын
Thank you very much
@OmarRabeh6 ай бұрын
thank you very much
@OkallTheAnalyst6 ай бұрын
Thank you!
@janrelleelam36284 ай бұрын
OMG! Thank you so very much. I have been trying to figure this out for about four days now. I figured out the phone number issue and then how to split the address, but for the life of me splitting the address into named columns with the changes committed the df was not working. THANK YOU!
@ashwanikumarkaushik2531 Жыл бұрын
This is one of the best videos regarding data cleaning I have ever watched. Really crisp and covers almost all the important steps. It also dives deep into concepts that are really important, but you rarely see anybody applying them. Must watch for everybody, who is looking to get into data field or are already in the field.
@AlexTheAnalyst Жыл бұрын
Glad to hear it!
@DreaSimply2110 ай бұрын
I like how in some of your videos you show us the long way and then the short cut, instead of just showing the short cut. I think that way gives the person who is learning a better breakdown of what they are doing.
@bennet54679 ай бұрын
Thanks for this content, this was so helpful!! I think i have some optimizations, correct me if im wrong :D 27:04 instead of calling the replace function multiple times, you can create a mapping just like: replace_mapping = {'Yes': 'Y', 'No': 'N'} and call it like: df = df.replace(replace_mapping), so you dont have to specify mapping for each column and need to call .replace() just once. 34:16 instead of the for loop + manually dropping row per row, you can make use of the .loc function like: df = df.loc[df["Do_Not_Contact"] == "N"] in order to filter the rows based on filter criterium.
@ivanovalle97646 ай бұрын
Where did you learn that you could use a dictionary format to replace multiple values in one line? this is really useful, thanks!
@yanpaucon10433 ай бұрын
Thank You. 34:16 is really helpful. I appreciate your kindness.
@georgekalathoor7 ай бұрын
instead of applying lambda function to convert Phone_Number column elements to string , we can also use df['Phone_Number'] = df['Phone_Number'].astype(str) and use dictionary as an argument to be passed inside replace method to avoid Yes becoming YYes df['Paying Customer']= df['Paying Customer'].replace({'Y':'Yes','N':'No'})
@farahandini3799 Жыл бұрын
I really like when you make mistakes, because it tells that no one perfect. I sometimes anxious when I watch tutorials and they seem to be so good. You also implicate the struggles that you experiencing throughout the process is real. Thanks for the tutorial Alex.
@millenniumkitten4107 Жыл бұрын
Some of the phone numbers are removed while doing the formatting. If you look in the excel file, you'll see that some of the numbers are strings and some are integers. When you run the string method during the formatting, it replaces the numeric values with NaN and they are later removed completely. If you want to avoid losing that data you'll need to use df["Phone_Number"] = df["Phone_Number"].astype(str) before formatting. You also won't need to convert to string in the lambda after doing this.
@millenniumkitten4107 Жыл бұрын
If you want to replace the empty values in No Not Contact you'll need to use df["Do_Not_Contact"].astype(str).replace("","N") Technically those values are not empty, they are NaNs which is why replace is giving them 'NNN' instead of just the one 'N'. It's treating it as if NaN equals three blank spaces
@atomicafk8704 Жыл бұрын
that's what i've noticed too, great work
@jameslindsay47059 ай бұрын
You are a genius, thanks :)
@jaldaamol464 ай бұрын
Thanks man, this worked.
@guilhermeramon9523Ай бұрын
Obrigado ! Estava observando isso no meu dataframe e não entendia porque estava acontecendo !
@margotonik6 ай бұрын
I enjoyed working on this project. Thank you Alex and a huge thank you to those guys who helped in the struggling minutes!
@L3GAT0Dantes Жыл бұрын
If you're getting an error when trying to split the address, this is what worked for me; I had to remove the number of values to look for. df[["Street_Address", "State", "Zip_Code"]] = df["Address"].str.split(',', expand=True)
@arpandebnath6115 Жыл бұрын
df[["Street_Address", "State", "Zip_Code"]] = df["Address"].str.split(pat=',', n=2, expand=True) use this you have to include pat
@toni_munoz9 ай бұрын
thank you!
@warinside78318 ай бұрын
what does that exactly?
@jeanaimegakwerere8591 Жыл бұрын
Thank you sir, you can't imagine how i fill confident in cleaning data after completing this video with real data practices. Thank you once again.
@sj17958 ай бұрын
Found this REALLY helpful! I love how you walk us through mistakes as well as explain WHY you do what you do throughout your videos. It adds so much value to each video. As always, THANK YOU ALEX!!
@HunzaFolk6 ай бұрын
I am studying Data Collection and Data Visualization at Kings College, your channel is reccomned by our lecturers to understand data cleaning.
@A4O_TSL Жыл бұрын
Alex your are the GOAT! for real thank you for all the tutorials and your help for everyone who want's to become a data analyst1
@AlexTheAnalyst Жыл бұрын
Glad to do it! :D
@morris99737 ай бұрын
I've been struggling with Pandas a bit and this video cleared some things for me! what frustrates me from the way my teachers would teach Pandas, their solutions are sometimes too efficient, in the sense that a student that started from zero who's taking an exam, will never be able to come up with these hyper efficient and elegant one-liners in their code. what I appreciate in your video is how you achieve the same results, but in a way that a beginner can easily remember and apply on an exam. thank you! I'll be checking out more of your videos.
@iinph8 ай бұрын
thank you for your work Alex! I went through the entire video 1 by 1 twice and I can tell I learned a lot from this video , finally understanding why we need to learn Loops etc. and how simple cleaning methods work on Jupyter.
@pip96013 ай бұрын
at 15:19 i would like to say something. in the new version from jupyter, if u write the code from alex the data will be same. To fix this, u can input regex = True after the ''. CODE: df['Phone_Number'].str.replace('[^a-zA-Z0-9]', '', regex = True). But overall i can't say anything except thank u alex for this awesome tutorial !!!!
@drumkick1397 Жыл бұрын
I discovered that replace() has an argument regex (regular expression). It is set as regex = True but when we change it to regex = False, it only looks for exact matches, meaning it won't change 'Yes' to 'Yeses', only 'Y' to 'Yes'. We can write df["Paying Customer"].replace('Y', 'Yes', regex = False) and it will work as expected.
@uchindamiphiri13819 ай бұрын
mine didnt work lol
@sudharsansivapraksah889012 күн бұрын
mine also didn't work
@menyajasper49408 ай бұрын
This is really very important to both the beginners and pro. Kudos!!
@MegaDave8520 Жыл бұрын
And I was already looking for some Pandas tutorial. Thank you, Alex, this was much needed. :)
@AlexTheAnalyst Жыл бұрын
Glad to help!
@dullfire8140 Жыл бұрын
man lets go,you are our hero who can not afford paid courses
@emmanuelnwachukwu607111 ай бұрын
This is the best video I have ever watched on data cleaning using pandas.. even the mistakes were good to learn from.
@rnjesus99507 ай бұрын
After making it this far through the course over the last 2 months, looking at these last 4 videos I'm getting strong final exam vibes. Python has not felt intuitive to me at all, but I recognize its value. I guess it feels like taking Spanish 1 and having Spanish 2 tests. I'm definitely looking forward to applying what I've learned here to solidify the lessons more. I'm contracting for a company already and writing a proposal for them to transition to My SQL Server. I guess the fact that I feel overwhelmed with all the info means I'm actually learning how little I actually know, which is a good thing for growth in the long run. Rambling here, but I am incredibly thankful for the course, Alex.
@ritwikmukherjee357228 күн бұрын
Hello Alex, thank you for such a wonderful tutorial . I have one suggestion regarding the last part where you are filtering # Filtering the Data with "Do_Not_Contact" Column with N and " " Filter1 = df["Do_Not_Contact"]=="N" Filter2= df["Do_Not_Contact"]=="" df[Filter1 | Filter2]
@danielblum5691 Жыл бұрын
Thank you for this video. I just finished this part of the data analytics course and I definitely learned something new and helpful.
@user-to9vz6gh4b10 ай бұрын
Alex, I loved the Video. It have Correct Explanation. Thank you so much for your Video. There is a Small Mistake while you are typing #Another Way to drop null value df.dropna(subset='Column_name',inplace = True). I hope you will notify the Error. Thank you. Have a Great day!
@anikkantisikder21799 ай бұрын
For the address column: df[["Street_Address", "State", "Zip_Code"]] = df["Address"].str.split(",", n=2, expand = True). Defining only 2 was giving me an error. so i had to change it to n=2
@DreaSimply219 ай бұрын
This helped me, thank you! However, what does '"n" mean?
@bobojonkasymov22798 ай бұрын
n=2 parameter indicates that the split should occur at most two times, producing three resulting parts.@@DreaSimply21
@championsadiq74117 ай бұрын
Thank you for this. It helped me a great deal
@Elly-we9uc9 ай бұрын
Also, to clean the Do_Not_Contact field, one can use: df['Do_Not_Contact'] = df['Do_Not_Contact'].replace({'N': 'No', 'Y': 'Yes'})
@khaibaromari817810 ай бұрын
Simply amazing! Well-explained and comprehensive. Loved it!
@yashjohngaming292811 ай бұрын
Best video available on internet so far for data cleaning in Pandas. Best explanation. 😇😇
@sumeetkajale3679 Жыл бұрын
Hey alex, we don't need to take any course because you are there 😉 I am doing your bootcamp of becoming a data analyst
@AlexTheAnalyst Жыл бұрын
Do it! I try my best to bring the best free content I can :)
@bharatsaraswat8 ай бұрын
Very well done! Great video. I am working on analyzing and cleaning scraped data from web and this guide is helpful, especially where you mentioned the mistakes.
@villjack Жыл бұрын
My fav thing to do in pandas, thanks for making tutorial.
@balajijadhav6080Ай бұрын
Thank you so much sir i have start my data cleaning from you From india 💌
@nitinvishwakarma96242 ай бұрын
Thank you, this is most elborative and simplest videos i saw
@nguyenthikieuoanh89662 ай бұрын
thanks for your effort making this amazing video. It helps me alot. I've been struggling on Data cleaning and your video is helpful
@JK-tk2do11 ай бұрын
Oh my.. I am going to watch every single video you created..
@MrValleMilton11 ай бұрын
Great Pandas data cleaning video. Thank you very much for sharing your knowledge.
@fitnessfreak984 Жыл бұрын
Hey, Alex, I just Started your Pandas Tutorial, and I was waiting for Data Cleaning video, when i open my KZfaq, First your Video is seen.. This is boon for me 😇🥺 Thanks, I hope you will Upload Matploib, Numpy and Many More Libraries video ❤🤗
@AlexTheAnalyst Жыл бұрын
In the future, yes :)
@traetrae11 Жыл бұрын
Thank you Alex. That Lambda example is going to be very useful.
@AlexTheAnalyst Жыл бұрын
Glad to hear it! :D
@jtmoleleki36046 ай бұрын
Thank you Alex. Your videos are very helpful. Now I can resume cleaning my data.
@jamilsonedu9179 ай бұрын
Using regular expressions for manipulating data is beneficial because it allows you to change strings as needed, especially when dealing with different types of strings.
@omkar8101 Жыл бұрын
Thanks a lot Alex for the video ! This was exactly what I was looking for. May I request you to try and upload video on how to write Python ETL code which uses table in a cloud database like snowflake, saves it in a csv format, transforms it and then again uploads it on snowflake. And all these steps are being captured in a log file which is in txt format !
@MehmoodAyazKhan Жыл бұрын
vouching for this @Alex. It'd be really appreciated TIA
@YR-up8vk Жыл бұрын
Thank you Alex for this detailed breakdown. Just a side note for those who don't like to use loops e.g. for, while For 31:00, you could do the following code 'df.drop(df[df['Do_Not_Contact'] == 'Y'].index, inplace=True'
@LuisRivera-oc6xh Жыл бұрын
I'd say that's complicating the code. You can simply do df = df[df['Do_Not_Contact'] != "Y"]
@vickygalih5571 Жыл бұрын
@@LuisRivera-oc6xh i literally use this at the first time learning pandas myself
Hi Alex, idk if you will see this comment. So I was doing the same codes, and I noticed when you eliminated the characters for the phone numbers at 14:57 you also deleted the phone numbers that did not have any characters in them. You can see that at index 3 for Walter White, before he had a phone number but after he had NaN. If you can tell me how to correct it, it would be very great. I also never commented on your videos, but i like them very much, they are very good, and helpful. Thanks for everything
@GlennLee-qz4st8 ай бұрын
Not sure if you're still looking for a solution, but from some online searching, I found a solution to avoid deleting phone numbers that did not have any error/contain no characters, by adding .astype(str) before .str.replace, this seems fix the issue and the code should look something like this: df["Phone_Number"] = df['Phone_Number'].astype(str).str.replace('[^a-zA-Z0-9]','',regex=True) Also note you'll have to add in regex=True manually. Maybe it's deleting as it somehow interpret whole number as non-numeric and deleting it erroneously, not 100% sure tho, still a beginner, and it might cause issue with other types of data.
@enyinnayajaja Жыл бұрын
Thank you Alex for this video on data cleaning with pandas. It is very detailed and explanatory
@chernobarry60357 ай бұрын
Your explanation was super cool
@aaspirant5392 Жыл бұрын
You are great, Alex. Your teaching skills excellent.
@AlexTheAnalyst Жыл бұрын
Thanks! 😃
@modern_jacob Жыл бұрын
If the df["Phone_Number"].replace('[^a-zA-Z0-9]', ''") is not working for you. Try, df["Phone_Number"].replace('[^a-zA-Z0-9]', ''", regex=True)
@ahmadfadlanamin9286 Жыл бұрын
Thanks!
@vigneshwarsekar8351 Жыл бұрын
Hi, Thanks, If I try this, Index 2 , 11 and 17 becomes NAN when originally they are in correct format, Kindly help
@vigneshwarsekar8351 Жыл бұрын
Thanks a ton, been looking for it for almost a week
@manishaarya24711 ай бұрын
Thanxxxxxsss aaa lotttt🙌
@christianearleperalta9542Ай бұрын
Thanks a lot 😁
@alwaysbehappy1337 Жыл бұрын
Thanks Alex, Please post more videos.
@FarizDarari6 ай бұрын
Many thanks for the dataset+code+video!!! 🔥🔥
@sdivi68817 ай бұрын
If any one is getting an error on df['Address'].str.split(",",2, expand=True), you can omit 2 and use df["Address"].str.split(",", expand=True)
@user-ml2qj4fm9x2 ай бұрын
@sdivi6881 Thank you so much 😊😊😊
@bolajiogunfowote860311 ай бұрын
The video I needed to have a realistic practice in data cleaning.thanks
@avinashparchake793510 ай бұрын
in Last_Name columns we can used replace function in order remove regular expression like ( ./-) code: df["Last_Name"]= df["Last_Name"].str.replace("[./_]","" ,regex= True)
@DreaSimply219 ай бұрын
OMG Thank youuuu!!! I knew someone on here had to know the answer to how to use regex lol.
@bolajiawofuwa81168 ай бұрын
Thanks
@mastermatt60905 ай бұрын
I was intimidated by the Machine learning module but now I am not. Thanks a lot dude
@50cent1089111 ай бұрын
Great video! I enjoyed learning from you! Thanks for making things easier to understand
@pewolo_nyenh8 ай бұрын
For explanation purposes, it is great. For getting the final result, I would have done differently though
@gudiatoka11 ай бұрын
Great video mam, need more this type of tutorials
@Insightss.....2 ай бұрын
I'm in love with ur videos
@avocado234748 күн бұрын
Thank you a lot, Alex! ^^
@ramakrishnaraolakkaraju3750 Жыл бұрын
Thanks for the video. Helped a lot in understanding Pandas.
@Elly-we9uc9 ай бұрын
Timestamp 32:42. I simply use #Filter out "Do_Not_Contact" == "Yes" df[df['Do_Not_Contact']!='Yes']
@shotihoch5 ай бұрын
Not an analyst (never wanted to be), but it was very interesting. Thanks!
@selimc3347 Жыл бұрын
Your work are amazing. Thank you so Much
@onitolu9698Ай бұрын
Thank you Mr Alex
@salaimani6 ай бұрын
How you are at 23:27 apply the changes and go back to the previous steps in Jupiter notebook
@hamzaabdullahmoh11 ай бұрын
A Glorious Thank You!! Please Keep This UP!!!!
@yanpaucon10433 ай бұрын
Thank you so much, Alex. You are the Best
@Niranga.555 Жыл бұрын
Hey Alex, Thanks for the super content ...!
@yvonnemukhono35663 ай бұрын
Very helpful, and well explained.
@alexandermackintosh1755 Жыл бұрын
Great video thanks! Can’t help thinking that tools like chatGPT, github copilot al, GPT engineer can pretty much tell you how to/do this all for you so maybe I am wasting my time learning this 😅
@md.shahriarabidswapnil60410 ай бұрын
thank you very much. your video helped me a lot. good luck
@neildelacruz605911 ай бұрын
Thanks for this absolutely great video.
@ateebbinmuzaffar3136 Жыл бұрын
Thanks for the detailed tutorial Alex. I was wondering, if i wanted to become a data scientist instead of a data analyst, would you recommend any people in the industry who I should follow? F.e is there an Alex the Data Scientist out there?😄
@meryemOuyouss20029 ай бұрын
Thank you soo much sir you're really a great professor 👏❤
@nirmalpandey6003 ай бұрын
Amazing explanations!
@vasavipasumarthi96016 ай бұрын
Really u fone a good job i became a big fan of u thank u so much for doing this
@ZeuSonRed11 ай бұрын
I not only survived! on 20:46 you can place AND in .replace('nan--' AND 'Na--' , ' '). Thank you 1:1
@SoggyBagelz Жыл бұрын
Yesss love these vids
@selvas5043 Жыл бұрын
Super Explanation Thanks
@minanabil10352 ай бұрын
thanks alot for this great video.
@W.xtar777 Жыл бұрын
which one is better for data cleaning, Pandas or Excel ?
@mohitjoshi89848 ай бұрын
Hello Alex on time of cleaning the Phone_Numder column(14:00 to 21:39 ) the code is executed. But at the table there are no changes . Please help me on this
@fede778 ай бұрын
you might have a newer pandas version, just add regex = True as an extra parameter: df['Phone_Number'] = df['Phone_Number'].str.replace('[^a-zA-Z0-9]', '', regex=True)
@higiniofuentes255110 ай бұрын
Thank you for this very useful video!
@higiniofuentes255110 ай бұрын
In the case of column Phone_Number with all the variant of NaN, first "stringuify" the column, and after do the format thing and then replace with nothing all the content of the column when the content contains 2 - Thank you!
My only doubt is, you saw the first 20 rows and decide only \ or .. or _ could be preceding, or only "Nan" or "N/A" is only there in that row, while replacing it. What if the 50th row has "%Mike" as a name or what if "Null" is there one of the columns?? How do we deal with it. Great recap for me other than this. Thank you.
@SurendraSingh-bd5wc7 ай бұрын
Really enjoyed the video
@Vikram_8621 Жыл бұрын
Thank you Alex! 🙏
@adeolaa.3667 ай бұрын
great video thank you. when we did the first lambda, the reason was because lambda is faster. so why did we go against using a lambda when it was time to check if the customer can be called or not?
@17art3an8 ай бұрын
Thank you, great video!
@maryemmdini940810 ай бұрын
very well explained video thank youuuu
@user-up3fr8ke7g Жыл бұрын
Nice one Alex. Don't forget to add comments to the code! 🙂
@AlexTheAnalyst Жыл бұрын
lol for sure!
@abhinavrastogi169911 ай бұрын
Hi Nice explanation. But in this data cleaning you have simply remove NA values. But as per my understanding we need to fill NA values, I am not clear about the logic to fill in. If you can provide video on how to fill NA values it will help us a lot. Thanks Abhinav
@malakilikemokaaa13858 ай бұрын
Python is so fun
@nadafarhan464Ай бұрын
thank you Alex
@sauravsubedi70895 ай бұрын
Instead of striping each symbols one by one in 9:11 i think its better to use characters_to_remove = ['/','...','_'] for x in characters_to_remove: df["Last_Name"] = df["Last_Name"].str.strip(x)
@Legomancer5 ай бұрын
at about 33:54, whoa! unless you were specifically told to do this, you are altering the data! Changing no value to 'N' is a no-no unless you have been told to do so. Otherwise you're adding information that was not there. We don't know if Harry Potter wants to be contacted or not and that's probably for someone above our pay grade to decide! :D
@KevinDKao Жыл бұрын
I think you did a good job explaining a lot of these but I'm noticing some fatal errors in both the video and the example notebooks you've provided that the comments confirm with me. For example, the Phone Number string replace around the 15 minute mark in the video doesn't work at all and another viewer commended a correct revision. In addition, the string split for the Addresses around the 23 minute mark also do not work because the StringMethods split function takes from 1-2 positional arguments.