Students should know about Python (at least) the following topics
- Basic datatypes and usual operations and methods to work with them
- Numbers (including booleans)
- Strings
- Lists
- Dictionaries
- Tuples
- Difference between the different datatypes (mutability, sequences, etc)
- Opening and reading files
- if, for and while structures
- Iterations and comprehensions
- Functions and arguments, importing packages, scopes
- Anonymous functions: lambda
- What are numpy arrays and why we need them
- How to create different types of numpy arrays
- From lists
- All zeros, ones or specific value
- From linear sequences or ranges
- From random distributions
- Usual array attributes (size, shape, ndim, dtype, itemsize, nbytes)
- Indexing, slicing
- Reshaping, contatenating and splitting
- UFuncs
- Aggregations
- Broadcasting!! IMPORTANT!!
- Comparisons, Masks and fancy indexing
- What is pandas and how is it different from Numpy
- What are series and dataframes
- creating series and dataframes
- Indexes and MultiIndex
- Indexing and selecting data
- Working around missing data
- UFuncs on pandas
- Combinging datasets (concat, append, merge and join)
- Groupby and aggregations
- Pivoting tables - String methods