100 Numpy exercises

The actual content for this is derived from https://github.com/rougier/numpy-100 - you can find the answers to all of the exercises in that repository in this file.

1: Import the numpy package under the name np ?

In [ ]:
 

2: Print the numpy version and the configuration ?

In [ ]:
 

3: Create a null vector of size 10 ?

In [ ]:
 

4: Create a null vector of size 10 but the fifth value which is 1 ?

In [ ]:
 

5: Create a vector with values ranging from 10 to 49 ?

In [ ]:
 

6: Reverse a vector (first element becomes last) ?

In [ ]:
 

7: Create a 3x3 matrix with values ranging from 0 to 8 ?

In [ ]:
 

8: Find indices of non-zero elements from [1,2,0,0,4,0] ?

In [ ]:
 

9: Create a 3x3 identity matrix ?

In [ ]:
 

10: Create a 3x3x3 array with random values ?

In [ ]:
 

11: Create a 10x10 array with random values and find the minimum and maximum values ?

In [ ]:
 

12: Create a random vector of size 30 and find the mean value ?

In [ ]:
 

13: Create a 2d array with 1 on the border and 0 inside ?

In [ ]:
 

14: What is the result of the following expression ? ?

In [ ]:
 

15: Create a 5x5 matrix with values 1,2,3,4 just below the diagonal ?

In [ ]:
 

16: Create a 8x8 matrix and fill it with a checkerboard pattern ?

In [ ]:
 

17: Consider a (6,7,8) shape array, what is the index ?

In [ ]:
 

18: Create a checkerboard 8x8 matrix using the tile function ?

In [ ]:
 

19: Normalize a 5x5 random matrix ?

In [ ]:
 

20: Multiply a 5x3 matrix by a 3x2 matrix (real matrix product) ?

In [ ]:
 

21: Given a 1D array, negate all elements which are between 3 and 8, in place. ?

In [ ]:
 

22: Create a 5x5 matrix with row values ranging from 0 to 4 ?

In [ ]:
 

23: Consider a generator function that generates 10 integers and use it to build an array ?

In [ ]:
 

24: Create a vector of size 10 with values ranging from 0 to 1, both excluded ?

In [ ]:
 

25: Create a random vector of size 10 and sort it ?

In [ ]:
 

26: How to sum a small array faster than np.sum ? ?

In [ ]:
 

27: Consider two random array A anb B, check if they are equal ?

In [ ]:
 

28: Make an array immutable (read-only) ?

In [ ]:
 

29: Consider a random 10x2 matrix representing cartesian coordinates, convert them to polar coordinates ?

In [ ]:
 

30: Create random vector of size 10 and replace the maximum value by 0 ?

In [ ]:
 

31: Create a structured array with x and y coordinates covering the [0,1]x[0,1] area ?

In [ ]:
 

32: Given two arrays, X and Y, construct the Cauchy matrix C (Cij = 1/?

In [ ]:
 

33: Print the minimum and maximum representable value for each numpy scalar type ?

In [ ]:
 

34: How to print all the values of an array ? ?

In [ ]:
 

35: How to find the closest value (to a given scalar) in an array ? ?

In [ ]:
 

36: Create a structured array representing a position (x,y) and a color (r,g,b) ?

In [ ]:
 

37: Consider a random vector with shape (100,2) representing coordinates, find point by point distances ?

In [ ]:
 

38: How to convert a float (32 bits) array into an integer ?

In [ ]:
 

39: Consider the following file:: 1,2,3,4,5 6,,,7,8 ,,9,10,11 How to read it ? ?

In [ ]:
 

40: What is the equivalent of enumerate for numpy arrays ? ?

In [ ]:
 

41: Generate a generic 2D Gaussian-like array ?

In [ ]:
 

42: How to randomly place p elements in a 2D array ? ?

In [ ]:
 

43: Subtract the mean of each row of a matrix ?

In [ ]:
 

44: How to I sort an array by the nth column ? ?

In [ ]:
 

45: How to tell if a given 2D array has null columns ? ?

In [ ]:
 

46: Find the nearest value from a given value in an array ?

In [ ]:
 

47: Consider a given vector, how to add 1 to each element indexed by a second vector (be careful with repeated indices) ? ?

In [ ]:
 

48: How to accumulate elements of a vector (X) to an array (F) based on an index list (I) ? ?

In [ ]:
 

49: Considering a (w,h,3) image of (dtype=ubyte), compute the number of unique colors ?

In [ ]:
 

50: Considering a four dimensions array, how to get sum over the last two axis at once ? ?

In [ ]:
 

51: Considering a one-dimensional vector D, how to compute means of subsets of D using a vector S of same size describing subset indices ? ?

In [ ]:
 

52: How to get the diagonal of a dot product ? ?

In [ ]:
 

53: Consider the vector [1, 2, 3, 4, 5], how to build a new vector with 3 consecutive zeros interleaved between each value ? ?

In [ ]:
 

54: Consider an array of dimension (5,5,3), how to mulitply it by an array with dimensions (5,5) ? ?

In [ ]:
 

55: How to swap two rows of an array ? ?

In [ ]:
 

56: Consider a set of 10 triplets describing 10 triangles (with shared vertices), find the set of unique line segments composing all the triangles ?

In [ ]:
 

57: Given an array C that is a bincount, how to produce an array A such that np.bincount(A) == C ? ?

In [ ]:
 

58: How to compute averages using a sliding window over an array ? ?

In [ ]:
 

59: Consider a one-dimensional array Z, build a two-dimensional array whose first row is (Z[0],Z[1],Z[2]) and each subsequent row is shifted by 1 (last row should be (Z[-3],Z[-2],Z[-1]) ?

In [ ]:
 

60: How to negate a boolean, or to change the sign of a float inplace ? ?

In [ ]:
 

61: Consider 2 sets of points P0,P1 describing lines (2d) and a point p, how to compute distance from p to each line i (P0[i],P1[i]) ? ?

In [ ]:
 

62: Consider 2 sets of points P0,P1 describing lines (2d) and a set of points P, how to compute distance from each point j (P[j]) to each line i (P0[i],P1[i]) ? ?

In [ ]:
 

63: Consider an array Z = [1,2,3,4,5,6,7,8,9,10,11,12,13,14], how to generate an array R = [[1,2,3,4], [2,3,4,5], [3,4,5,6], ..., [11,12,13,14]] ? ?

In [ ]:
 

64: Compute a matrix rank ?

In [ ]:
 

65: How to find the most frequent value in an array ? ?

In [ ]:
 

66: Extract all the contiguous 3x3 blocks from a random 10x10 matrix ?

In [ ]:
 

67: Create a 2D array subclass such that Z[i,j] == Z[j,i] ?

In [ ]:
 

68: Consider a set of p matrices wich shape (n,n) and a set of p vectors with shape (n,1). How to compute the sum of of the p matrix products at once ? (result has shape (n,1)) ?

In [ ]:
 

69: Consider a 16x16 array, how to get the block-sum (block size is 4x4) ? ?

In [ ]:
 

70: How to implement the Game of Life using numpy arrays ? ?

In [ ]:
 

71: How to get the n largest values of an array ?

In [ ]:
 

72: Given an arbitrary number of vectors, build the cartesian product (every combinations of every item) ?

In [ ]:
 

73: How to create a record array from a regular array ? ?

In [ ]:
 

74: Comsider a large vector Z, compute Z to the power of 3 using 3 different methods ?

In [ ]:
 

75: Consider two arrays A and B of shape (8,3) and (2,2). How to find rows of A that contain elements of each row of B regardless of the order of the elements in B ? ?

In [ ]:
 

76: Considering a 10x3 matrix, extract rows with unequal values (e.g. [2,2,3]) ?

In [ ]:
 

77: Convert a vector of ints into a matrix binary representation ?

In [ ]:
 

78: Given a two dimensional array, how to extract unique rows ? ?

In [ ]:
 

79: Considering 2 vectors A & B, write the einsum equivalent of inner, outer, sum, and mul function ?

In [ ]:
 

80: Considering a path described by two vectors (X,Y), how to sample it using equidistant samples ?

In [ ]:
 

81: Given an integer n and a 2D array X, select from X the rows which can be interpreted as draws from a multinomial distribution with n degrees, i.e., the rows which only contain integers and which sum to n. ?

In [ ]: