Data Analysis with Pandas and Python

Analyze data quickly and easily with Python's powerful pandas library! All datasets included --- beginners welcome!

  • Boris Paskhaver
  • 4.62
  • (18200 reviews)
  • 21.5 hrs
  • 206 lectures
  • Udemy
Data Analysis with Pandas and Python

What you will learn?

  • Perform a multitude of data operations in Python's popular pandas library including grouping, pivoting, joining and more!
  • Learn hundreds of methods and attributes across numerous pandas objects
  • Possess a strong understanding of manipulating 1D, 2D, and 3D data sets
  • Resolve common issues in broken or incomplete data sets

Your trainer

Boris Paskhaver

Hi there! I'm a New York City-based software engineer, author, and consultant who's been teaching on Udemy since 2016.

Like many of my peers, I did not follow a conventional approach to my current role as a web developer. After graduating from New York University in 2013 with a degree in Business Economics and Marketing, I worked as a business analyst, systems administrator, and data analyst for a variety of companies including a digital marketing agency, a financial services firm, and an international tech powerhouse. At one of those roles, I was fortunate enough to be challenged to build several projects with Python and JavaScript.

There was no formal computer science education for me; I discovered coding entirely by accident. A small work interest quickly blossomed into a passionate weekend hobby. Eventually, I left my former role to complete App Academy, a rigorous full-stack web development bootcamp in NYC. The rest is history.

206 lessons

Easy to follow lectures and videos covering subject details.

21.5 hours

This course includes hours of video material. Watch on-demand, anytime, anywhere.

Certificate of Completion

You will earn a Certificate of Completion at the end of this course.

Course curriculum

  • Introduction to Data Analysis with Pandas and Python12:15
  • About Me00:56
  • Completed Course Files00:31
  • macOS - Download the Anaconda Distribution, our Python development environment04:21
  • macOS - Install Anaconda Distribution10:38
  • macOS - Access the Terminal Application08:34
  • macOS - Create conda Environment and Install pandas and Jupyter Notebook13:07
  • macOS - Unpack Course Materials + The Start and Shutdown Process12:32
  • Windows - Find Out if Your System is 32-bit or 64-bit01:16
  • Windows - Download and Install the Anaconda Distribution09:32
  • Windows - Create conda Environment and Install pandas and Jupyter Notebook18:12
  • Windows - Unpack Course Materials + The Startdown and Shutdown Process13:13
  • Intro to the Jupyter Notebook Interface09:51
  • Cell Types and Cell Modes in Jupyter Notebook07:37
  • Code Cell Execution in Jupyter Notebook03:13
  • Popular Keyboard Shortcuts in Jupyter Notebook03:41
  • Import Libraries into Jupyter Notebook08:31
  • Troubleshooting Issues with Jupyter Notebook00:14
  • Setup & Installation8 questions
  • Intro to the Python Crash Course03:34
  • Comments03:18
  • Basic Data Types10:47
  • Operators15:35
  • Variables07:48
  • Declare Variables1 question
  • Coding Exercise Solution: Declare Variables00:02
  • Built-in Functions10:42
  • Built-in Functions1 question
  • Coding Exercise Solution: Built-in Functions00:33
  • Custom Functions16:33
  • Custom Functions1 question
  • Coding Exercise Solution: Custom Functions00:18
  • String Methods20:51
  • String Methods1 question
  • Coding Exercise Solution: String Methods00:41
  • Lists13:17
  • Creating Lists1 question
  • Coding Exercise Solution: Creating Lists00:25
  • Index Positions and Slicing15:56
  • Index Positions and Slicing1 question
  • Coding Exercise Solution: Index Positions and Slicing00:23
  • Dictionaries15:22
  • Creating Dictionaries1 question
  • Coding Exercise Solution: Creating Dictionaries00:11
  • Completed Jupyter Notebook for this Section00:02
  • Python Crash Course8 questions
  • Create Jupyter Notebook for the Series Module02:15
  • Create A Series Object from a Python List12:41
  • Create A Series Object from a Python Dictionary06:24
  • Create a Series Object v21 question
  • Coding Exercise Solution: Create a Series Object00:29
  • Intro to Methods06:54
  • Intro to Attributes09:48
  • Attributes and Methods on a Series1 question
  • Coding Exercise Solution: Attributes and Methods on a Series00:16
  • Parameters and Arguments19:06
  • Parameters and Arguments1 question
  • Coding Exercise Solution: Parameters and Arguments00:39
  • Import Series with the pd.read_csv Function18:00
  • Import Series with the read_csv Function1 question
  • Coding Exercise Solution: Import Series with the read_csv Function00:28
  • Use the head and tail Methods to Return Rows from Beginning and End of Dataset07:07
  • The head and tail Methods1 question
  • Coding Exercise Solution: The head and tail Methods00:46
  • Passing Series to Python Built-In Functions07:29
  • The sort_values Method04:46
  • The sort_values Method1 question
  • Coding Exercise Solution: The sort_values Method00:35
  • The sort_index Method04:28
  • The sort_index Method1 question
  • Coding Exercise Solution: The sort_index Method00:25
  • Check for Inclusion with Python's in Keyword05:12
  • Check for Inclusion with Python's in Keyword1 question
  • Coding Exercise Solution: Check for Inclusion with Python's in Keyword00:49
  • Extract Series Values by Index Position08:27
  • Extract Series Values by Index Label04:44
  • Extract Series Values by Index Position or Index Label1 question
  • Coding Exercise Solution: Extract Series Values by Index Position or Index Label00:31
  • The get Method08:21
  • Overwrite a Series Value05:25
  • The copy Method11:56
  • The inplace Parameter13:29
  • Math Methods on Series Objects04:24
  • Broadcasting04:00
  • Use the value_counts Method to See Counts of Unique Values within a Series06:20
  • The value_counts Method1 question
  • Coding Exercise Solution: The value_counts Method00:44
  • Use the apply Method to Invoke a Function on Every Series Values07:37
  • The map Method07:54
  • Completed Jupyter Notebook for this Section00:02
  • A Review of the Series Module7 questions
  • Intro to DataFrames I Module09:48
  • Methods and Attributes between Series and DataFrames14:08
  • Differences between Shared Methods06:01
  • Select One Column from a DataFrame06:28
  • Select One Column from a DataFrame1 question
  • Coding Exercise Solution: Select One Column from a DataFrame00:28
  • Select Two or More Columns from a DataFrame03:50
  • Select Two or More Columns from a DataFrame1 question
  • Coding Exercise Solution: Select Two or More Columns from a DataFrame00:29
  • Add New Column to DataFrame07:16
  • Create New Column from Existing Column10:18
  • A Review of the value_counts Method03:24
  • Drop DataFrame Rows with Null Values with the dropna Method08:48
  • Delete DataFrame Rows with Missing Values1 question
  • Coding Exercise Solution: Delete DataFrame Rows with Missing Values00:33
  • Fill in Missing DataFrame Values with the fillna Method08:51
  • The astype Method I07:48
  • The astype Method II09:37
  • The astype Method1 question
  • Coding Exercise Solution: The astype Method00:32
  • Sort a DataFrame with the sort_values Method, Part I08:54
  • Sort a DataFrame with the sort_values Method, Part II10:07
  • The sort_values Method on a DataFrame v31 question
  • Coding Exercise Solution: The sort_values Method on a DataFrame00:40
  • Sort DataFrame Index with the sort_index Method03:37
  • Rank Series Values with the rank Method06:07
  • Completed Jupyter Notebook for this Section00:02
  • A Review of the DataFrames I Module3 questions
  • This Module's Dataset + Memory Optimization15:51
  • Filter a DataFrame Based on A Condition12:57
  • Filter a DataFrame Based on a Condition1 question
  • Coding Exercise Solution: Filter a DataFrame Based on A Condition00:44
  • Filter DataFrame with More than One Condition (AND - &)04:41
  • Filter DataFrame with More than One Condition (AND - &)1 question
  • Coding Exercise Solution: Filter DataFrame with More than One Condition (AND)00:54
  • Filter DataFrame with More than One Condition (OR - |)08:35
  • Filter DataFrame with More than One Condition (OR - |)1 question
  • Coding Exercise Solution: Filter DataFrame with More than One Condition (OR)00:54
  • Check for Inclusion with the isin Method06:17
  • Check for Inclusion with the isin Method1 question
  • Coding Exercise Solution: Check for Inclusion with the isin Method00:49
  • Check for Null and Present DataFrame Values with the isnull and notnull Methods05:07
  • Check For Inclusion Within a Range of Values with the between Method06:51
  • The between Method1 question
  • Coding Exercise Solution: The between Method00:53
  • Check for Duplicate DataFrame Rows with the duplicated Method09:05
  • Delete Duplicate DataFrame Rows with the drop_duplicates Method08:16
  • Identify and Count Unique Values with the unique and nunique Methods04:22
  • Intro to the DataFrames III Module + Import Dataset04:55
  • Use the set_index and reset_index methods to define a new DataFrame index07:26
  • Retrieve Rows by Index Label with loc Accessor12:42
  • Retrieve Rows by Index Position with iloc Accessor07:23
  • Passing second arguments to the loc and iloc Accessors09:10
  • Set New Value for a Specific Cell or Cells In a Row04:34
  • Set Multiple Values in a DataFrame06:08
  • Rename Index Labels or Columns in a DataFrame09:33
  • Delete Rows or Columns from a DataFrame07:29
  • Create Random Sample with the sample Method04:43
  • Use the nsmallest / nlargest methods to get rows with smallest / largest values.05:36
  • Filter A DataFrame with the where method05:03
  • Filter A DataFrame with the query method09:07
  • A Review of the apply Method on a pandas Series Object05:53
  • Apply a Function to every DataFrame Row with the apply Method06:49
  • Create a Copy of a DataFrame with the copy Method07:05
  • Intro to the Working with Text Data Section06:09
  • Common String Methods - lower, upper, title, and len07:14
  • Common String Methods1 question
  • Coding Exercise Solution: Common String Methods00:40
  • Use the str.replace method to replace all occurrences of character with another08:07
  • Filter a DataFrame's Rows with String Methods06:43
  • More DataFrame String Methods - strip, lstrip, and rstrip04:31
  • Invoke String Methods on DataFrame Index and Columns05:30
  • Split Strings by Characters with the str.split Method08:41
  • More Practice with the str.split method on a Series06:01
  • Exploring the expand and n Parameters of the str.split Method07:00
  • Intro to the MultiIndex Module04:50
  • Create a MultiIndex on a DataFrame with the set_index Method10:36
  • Create a MultiIndex on a DataFrame1 question
  • Coding Exercise Solution: Create a MultiIndex on a DataFrame00:39
  • Extract Index Level Values with the get_level_values Method04:20
  • Extract Index Level Values with the get_level_values Method1 question
  • Coding Exercise Solution: Extract Index Level Values with the get_level_values M00:49
  • Change Index Level Name with the set_names Method04:15
  • The sort_index Method on a MultiIndex DataFrame08:24
  • Extract Rows from a MultiIndex DataFrame10:59
  • Extract Rows from a MultiIndex DataFrame1 question
  • Coding Exercise Solution: Extract Rows from a MultiIndex DataFrame00:47
  • The transpose Method on a MultiIndex DataFrame08:16
  • The swaplevel Method03:29
  • The stack Method06:01
  • The unstack Method, Part 103:38
  • The unstack Method, Part 206:09
  • The unstack Method, Part 305:09
  • The pivot Method06:34
  • Use the pivot_table method to create an aggregate summary of a DataFrame10:16
  • Use the pd.melt method to create a narrow dataset from a wide one05:59
  • The pd.melt Method1 question
  • Coding Exercise Solution: The pd.melt Method00:54
  • Intro to the GroupBy Module07:42
  • First Operations with groupby Object09:33
  • Retrieve a group from a GroupBy object with the get_group Method03:47
  • Methods on the Groupby Object and DataFrame Columns08:41
  • Grouping by Multiple Columns04:35
  • The agg Method06:11
  • Iterating through Groups09:04
  • Intro to the Merging, Joining, and Concatenating Section04:51
  • The pd.concat Method, Part 105:20
  • The pd.concat Method, Part 207:06
  • Inner Joins, Part 109:18
  • Inner Joins, Part 209:01
  • Outer Joins12:23
  • Left Joins09:19
  • The left_on and right_on Parameters08:54
  • Merging by Indexes with the left_index and right_index Parameters11:02
  • The .join() Method03:15
  • The pd.merge() Method03:06
  • Intro to the Working with Dates and Times Module04:17
  • Review of Python's datetime Module09:31
  • The pandas Timestamp Object07:15
  • The pandas DateTimeIndex Object05:23
  • The pd.to_datetime() Method11:11
  • Create Range of Dates with the pd.date_range() Method, Part 110:22
  • Create Range of Dates with the pd.date_range() Method, Part 209:04
  • Create Range of Dates with the pd.date_range() Method, Part 307:50
  • The .dt Accessor07:29
  • Install pandas-datareader Library03:33
  • Import Financial Data Set with pandas_datareader Library07:55
  • Selecting Rows from a DataFrame with a DateTimeIndex12:25
  • Timestamp Object Attributes and Methods09:41
  • The pd.DateOffset Object06:50
  • Timeseries Offsets12:31
  • The Timedelta Object08:22
  • Timedeltas in a Dataset09:30
  • Intro to the Input and Output Section01:21
  • Pass a URL to the pd.read_csv Method04:04
  • Quick Object Conversions07:02
  • Export CSV File with the to_csv Method05:26
  • Install xlrd and openpyxl Libraries to Read and Write Excel Files04:03
  • Import Excel File into pandas with the read_excel Method09:22
  • Export Excel File with the to_excel Method07:46
  • Input and Output5 questions
  • Intro to Visualization Section04:48
  • Use the plot Method to Render a Line Chart07:55
  • Modifying Plot Aesthetics with matplotlib Templates04:44
  • Creating Bar Graphs to Show Counts05:57
  • Creating Pie Charts to Represent Proportions04:50
  • Visualization5 questions
  • Introduction to the Options and Settings Module01:42
  • Changing pandas Options with Attributes and Dot Syntax06:57
  • Changing pandas Options with Methods06:14
  • The precision Option03:10
  • Conclusion01:39
  • Bonus!00:20
Online Courses

Learning Python doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.

Learn more
Books

Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of Python related books and take yourskills to the next level.

Learn more
YouTube videos

The number of high-quality and free Python video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.

Learn more