NumPy Exercises, Practice, Solutions
Practice Python NumPy Exercises
This resource offers a total of 2988 NumPy problems for practice. It includes 624 main exercises, each accompanied by solutions, detailed explanations, and four related problems.
NumPy Exercises:
NumPy is the backbone of scientific computing in Python, enabling fast and efficient array operations used in data science, machine learning, and numerical computing. Practice exercises - from basic to advanced - with sample solutions to strengthen your NumPy skills. Challenge yourself, learn by doing, and enjoy coding!
List of NumPy Exercises:
- Python NumPy Basic [ 295 Exercises ]
- Python NumPy arrays [ 1025 Exercises ]
- Python NumPy Mathematics [ 205 Exercises ]
- Python NumPy Linear Algebra [ 95 Exercises ]
- Python NumPy Statistics [ 70 Exercises ]
- Python NumPy Random [ 85 Exercises ]
- Python NumPy Sorting and Searching [ 45 Exercises ]
- NumPy Advanced Indexing [ 100 exercises ]
- Python NumPy DateTime [ 35 Exercises ]
- Python NumPy String [ 110 Exercises ]
- NumPy Broadcasting [ 100 exercises ]
- NumPy Memory Layout [ 95 exercises ]
- NumPy Performance Optimization [ 100 exercises ]
- NumPy Interoperability [ 100 exercises ]
- NumPy I/O Operations [ 100 exercises ]
- NumPy Universal Functions [ 100 exercises ]
- NumPy Masked Arrays [ 100 exercises ]
- NumPy Structured Arrays [ 100 exercises ]
- NumPy Integration with SciPy [ 95 exercises ]
- Advanced NumPy [ 33 exercises ]
- Mastering NumPy [ 100 Exercises ]
- More to come
Basic Operations and Arrays
Mathematics, Linear Algebra, and Statistics
Random Numbers
Sorting, Searching, and Indexing
Datetime and String Operations
Broadcasting and Memory Layout
Performance Optimization and Interoperability
Input/Output (I/O) Operations
Functions and Masked Arrays
Structured Arrays and SciPy Integration
Advanced Topics and Mastery
NumPy Basics
| Operator | Description |
|---|---|
| np.array([1,2,3]) | 1d array |
| np.array([(1,2,3),(4,5,6)]) | 2d array |
| np.arange(start,stop,step) | range array |
Placeholders
| Operator | Description |
|---|---|
| np.linspace(0,2,9) | Add evenly spaced values btw interval to array of length |
| np.zeros((1,2)) | Create and array filled with zeros |
| np.ones((1,2)) | Creates an array filled with ones |
| np.random.random((5,5)) | Creates random array |
| np.empty((2,2)) | Creates an empty array |
Array
| Syntax | Description |
|---|---|
| array.shape | Dimensions (Rows,Columns) |
| len(array) | Length of Array |
| array.ndim | Number of Array Dimensions |
| array.dtype | Data Type |
| array.astype(type) | Converts to Data Type |
| type(array) | Type of Array |
Copying/Sorting
| Operators | Description |
|---|---|
| np.copy(array) | Creates copy of array |
| other = array.copy() | Creates deep copy of array |
| array.sort() | Sorts an array |
| array.sort(axis=0) | Sorts axis of array |
Array Manipulation
Adding or Removing Elements
| Operator | Description |
|---|---|
| np.append(a,b) | Append items to array |
| np.insert(array, 1, 2, axis) | Insert items into array at axis 0 or 1 |
| np.resize((2,4)) | Resize array to shape(2,4) |
| np.delete(array,1,axis) | Deletes items from array |
Combining Arrays
| Operator | Description |
|---|---|
| np.concatenate((a,b),axis=0) | Concatenates 2 arrays, adds to end |
| np.vstack((a,b)) | Stack array row-wise |
| np.hstack((a,b)) | Stack array column wise |
Splitting Arrays
| Operator | Description |
|---|---|
| numpy.split() | Split an array into multiple sub-arrays. |
| np.array_split(array, 3) | Split an array in sub-arrays of (nearly) identical size |
| numpy.hsplit(array, 3) | Split the array horizontally at 3rd index |
More
| Operator | Description |
|---|---|
| other = ndarray.flatten() | Flattens a 2d array to 1d |
| array = np.transpose(other) array.T |
Transpose array |
| inverse = np.linalg.inv(matrix) | Inverse of a given matrix |
Mathematics
Operations
| Operator | Description |
|---|---|
| np.add(x,y) x + y |
Addition |
| np.substract(x,y) x - y |
Subtraction |
| np.divide(x,y) x / y |
Division |
| np.multiply(x,y) x @ y |
Multiplication |
| np.sqrt(x) | Square Root |
| np.sin(x) | Element-wise sine |
| np.cos(x) | Element-wise cosine |
| np.log(x) | Element-wise natural log |
| np.dot(x,y) | Dot product |
| np.roots([1,0,-4]) | Roots of a given polynomial coefficients |
Comparison
| Operator | Description |
|---|---|
| == | Equal |
| != | Not equal |
| < | Smaller than |
| > | Greater than |
| <= | Smaller than or equal |
| >= | Greater than or equal |
| np.array_equal(x,y) | Array-wise comparison |
Basic Statistics
| Operator | Description |
|---|---|
| np.mean(array) | Mean |
| np.median(array) | Median |
| array.corrcoef() | Correlation Coefficient |
| np.std(array) | Standard Deviation |
More
| Operator | Description |
|---|---|
| array.sum() | Array-wise sum |
| array.min() | Array-wise minimum value |
| array.max(axis=0) | Maximum value of specified axis |
| array.cumsum(axis=0) | Cumulative sum of specified axis |
Slicing and Subsetting
| Operator | Description |
|---|---|
| array[i] | 1d array at index i |
| array[i,j] | 2d array at index[i][j] |
| array[i<4] | Boolean Indexing, see Tricks |
| array[0:3] | Select items of index 0, 1 and 2 |
| array[0:2,1] | Select items of rows 0 and 1 at column 1 |
| array[:1] | Select items of row 0 (equals array[0:1, :]) |
| array[1:2, :] | Select items of row 1 |
| [comment]: <> ( | array[1,...] |
| array[ : :-1] | Reverses array |
[ Want to contribute to Python Pandas exercises? Send your code (attached with a .zip file) to us at w3resource[at]yahoo[dot]com. Please avoid copyrighted materials.]
Test your Python skills with w3resource's quiz
