Coding interviews can be challenging. You might be asked questions to test your knowledge of a programming language. On the other side, you can be given a task to solve in order to check how you think. And when you are interviewed for a data scientist position, it's likely you can be asked on the corresponding tools available for the language. In either of the cases, to get a cool position as a data scientist, you need to do a little work to perform the best. That's why it's very important to practice in order to prove your expertise! This course serves as a guide for those who just start their path to become a professional data scientist and as a refresher for those who seek for other opportunities. We'll go through fundamental as well as advanced topics that aim to prepare you for a coding interview in Python. Since it is not a normal step-by-step course, some exercises can be quite complex. But who said that interviews are easy to pass, right?
Python Data Structures and String ManipulationFree
In this chapter, we'll refresh our knowledge of the main data structures used in Python. We'll cover how to deal with lists, tuples, sets, and dictionaries. We'll also consider strings and how to write regular expressions to retrieve specific character sequences from a given text.What are the main data structures in Python?50 xpList methods100 xpOperations on sets50 xpStoring data in a dictionary100 xpWhat are common ways to manipulate strings?50 xpString indexing and concatenation100 xpOperations on strings100 xpFixing string errors in a DataFrame100 xpHow to write regular expressions in Python?50 xpWrite a regular expression100 xpFind the correct pattern50 xpSplitting by a pattern100 xp
Iterable objects and representatives
This chapter focuses on iterable objects. We'll refresh the definition of iterable objects and explain, how to identify one. Next, we'll cover list comprehensions, which is a very special feature of Python programming language to define lists. Then, we'll recall how to combine several iterable objects into one. Finally, we'll cover how to create custom iterable objects using generators.What are iterable objects?50 xpenumerate()100 xpIterators100 xpTraversing a DataFrame100 xpWhat is a list comprehension?50 xpBasic list comprehensions100 xpPrime number sequence100 xpCoprime number sequence100 xpWhat is a zip object?50 xpCombining iterable objects100 xpExtracting tuples100 xpCreating a DataFrame100 xpWhat is a generator and how to create one?50 xpShift a string100 xpThrow a dice100 xpGenerator comprehensions100 xp
Functions and lambda expressions
This chapter will focus on the functional aspects of Python. We'll start by defining functions with a variable amount of positional as well as keyword arguments. Next, we'll cover lambda functions and in which cases they can be helpful. Especially, we'll see how to use them with such functions as map(), filter(), and reduce(). Finally, we'll recall what is recursion and how to correctly implement one.How to pass a variable number of arguments to a function?50 xpPositional arguments of variable size100 xpKeyword arguments of variable size100 xpCombining argument types100 xpWhat is a lambda expression?50 xpDefine lambda expressions100 xpConverting functions to lambda expressions100 xpUsing a lambda expression as an argument100 xpWhat are the functions map(), filter(), reduce()?50 xpThe map() function100 xpThe filter() function100 xpThe reduce() function100 xpWhat is recursion?50 xpCalculate the number of function calls50 xpCalculate an average value100 xpApproximate Pi with recursion100 xp
Python for scientific computing
This chapter will cover topics on scientific computing in Python. We'll start by explaining the difference between NumPy arrays and lists. We'll define why the former ones suit better for complex calculations. Next, we'll cover some useful techniques to manipulate with pandas DataFrames. Finally, we'll do some data visualization using scatterplots, histograms, and boxplots.What is the difference between a NumPy array and a list?50 xpIncorrect array initialization50 xpAccessing subarrays100 xpOperations with NumPy arrays100 xpHow to use the .apply() method on a DataFrame?50 xpSimple use of .apply()100 xpAdditional arguments100 xpFunctions with additional arguments100 xpHow to use the .groupby() method on a DataFrame?50 xpStandard DataFrame methods100 xpBMI of villains100 xpNaN value imputation100 xpHow to visualize data in Python?50 xpExplore feature relationships50 xpPlot a histogram100 xpCreating boxplots100 xpFinal thoughts50 xp
Kirill SmirnovSee More
Data Science Consultant @ Altran
I am a self-taught data scientist and algorithm developer. I did my Bachelor's and Master's degree in Biophysics. Afterwards, I obtained my PhD degree working in the department of analytical BioGeoChemistry in Helmholtz Center Munich. During this time I discovered my passion for data science due to the necessity to analyze huge biological datasets. Moreover, I really enjoy programming, especially in the context of algorithm development and optimization.