NumPy Exercises, Practice, Solutions
Learn Python NumPy
NumPy is a fundamental Python library for scientific computing, offering a multidimensional array object and various routines for fast array operations. It supports mathematical, logical, shape manipulation, sorting, I/O, Fourier transforms, linear algebra, statistics, random simulations, and more.
The best way to learn is through practice and exercise. Here, you can practice NumPy concepts with exercises ranging from basic to complex, each accompanied by a sample solution and explanation. It is recommended to attempt these exercises on your own before checking the solutions.
We hope these exercises enhance your NumPy coding skills. Currently, the following sections are available, and more exercises are being added. Happy coding!
List of NumPy Exercises:
- Python NumPy Basic [ 59 Exercises with Solution ]
- Python NumPy arrays [ 205 Exercises with Solution ]
- Python NumPy Mathematics [ 41 Exercises with Solution ]
- Python NumPy Linear Algebra [ 19 Exercises with Solution ]
- Python NumPy Statistics [ 14 Exercises with Solution ]
- Python NumPy Random [ 17 Exercises with Solution ]
- Python NumPy Sorting and Searching [ 9 Exercises with Solution ]
- NumPy Advanced Indexing [ 20 exercises with solution ]
- Python NumPy DateTime [ 7 Exercises with Solution ]
- Python NumPy String [ 22 Exercises with Solution ]
- NumPy Broadcasting [ 20 exercises with solution ]
- NumPy Memory Layout [ 19 exercises with solution ]
- NumPy Performance Optimization [ 20 exercises with solution ]
- NumPy Interoperability [ 20 exercises with solution ]
- NumPy I/O Operations [ 20 exercises with solution ]
- NumPy Universal Functions [ 20 exercises with solution ]
- NumPy Masked Arrays [ 20 exercises with solution ]
- NumPy Structured Arrays [ 20 exercises with solution ]
- NumPy Integration with SciPy [ 19 exercises with solution ]
- Advanced NumPy [ 33 exercises with solution ]
- Mastering NumPy [ 100 Exercises with Solutions ]
- 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
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics