1. Congratulations!
Congratulations on completing this course on writing efficient Python code with pandas! It was a long way to go, but you made it to the end! Let's summarize what you've learned in this course.
2. What you have learned
First, you've seen why we need efficient coding and how to measure CPU time using the time package. You also refreshed your skills on how to select specific rows and columns of a pandas DataFrame efficiently using the loc and iloc functions.
You also learned the most efficient way to select random rows and columns, by comparing the native pandas function with its NumPy's alternative.
Then, you discovered that the most efficient way to replace single values in a pandas DataFrame is the native replace() function. You extended your knowledge about this function by replacing multiple values using either lists or dictionaries.
3. What you have learned
On the next chapter, you explored all the possible ways to iterate through a pandas DataFrame. You started by using the iterrows() function, which uses a generator. Then, you worked with the .apply() function, which applies a predefined function to each row of the data.
You were then introduced to the vectorization method, allowing you to iterate both on pandas Series and on NumPy ndarrays.
In the last part of this course, you explored some uses of the groupby() function, and how it compares to native Python methods. More specifically, you compared the superiority of the groupby() function versus Python standard coding in transforming the data according to a predefined transformation, imputing missing values and filtering groups with specific characteristics.
4. Congratulations!
Once again, I would like to congratulate you for all the effort you put in this course. Take this newly acquired knowledge in a project of your own, or in another DataCamp course of your choice!