Python/Quizzes/NumPy & Co.

< Python < Quizzes

1. With the follow code

a = range(2,9)
map(lambda x, y: x ** y, a, reversed(a))

choose one or more of the following:

True False
The first element in the result is 2

2. With the above code

True False
The map function iterates over two lists/iterators.

3. With the above code

True False
The first input argument to the "map" function is a function itself

4. With the above code

True False
The last element of the result is 92=81

5. With the follow code

import numpy as np
 
A = np.matrix([[1, 2], [3, 4]])
B = np.mat([[5, 6], [5, 6]])

B is:

An ordinary list (of lists) Python object: <type 'list'>
A numpy array
numpy.array and numpy.asarray both constructs a numpy.array
A numpy matrix
numpy.matrix and numpy.mat both constructs a numpy.matrix object

6. With the above code and

A * B

the result is

A matrix product
matrix([[15, 18], [35, 42]])
An elementwise product of the matrix elements:
array([[ 5, 12], [15, 24]])
You would get this result if you had used "*" on two arrays
TypeError: can't multiply sequence by non-int of type 'list'
Concatenation of the two lists

7. With the following code

import numpy as np
import numpy.linalg
 
A = np.mat([[2, 1], [1, 2]])
B = numpy.linalg.inv(A)
A * B

the result is

matrix([[ 1.,  0.], [ 0.,  1.]])
matrix([[0, 1], [1, 0]])
matrix([[-5, -4], [-4, -5]])
matrix([[5, 4], [4, 5]])

8. With the following code

import numpy as np
import matplotlib.pyplot as plt
 
x = np.linspace(0, 10, 1000)
plt.plot(x, np.sin(x) + x)

the result is

An error as "np.sin" only works for a single value
A plot with 1000 elements
A plot with 2000 elements as "np.sin(x)" and "x" is concatenated

9. With the following code

# Import simplex algorithm
from scipy.optimize import fmin
import numpy as np
 
def f(x):
    return (x[0]-3)**2 + 3*x[0] - 2*x[1] + x[1]**2
 
fmin(f, np.random.rand(2))

the result is

Two random values between 0 and 1
approximately array([ 1.50000971, 0.99996545])
approximately array([ 1.24996107])
The minimum of two random numbers and the value of the function

10. With the following code

import scipy.stats
import numpy as np
 
# Get an instance of class for the Gaussian distribution (also called normal distribution)
gaussian = scipy.stats.norm(loc=10, scale=3)
 
# Generate 1000 random samples
data = gaussian.rvs(1000)
 
# Insert a "not a number" value in the 11th element
data[10] = np.nan
 
# Compute the mean
m = scipy.stats.nanmean(data)

"m" is

1000
10
approximately 10
3
np.nan

Your score is 0 / 0
This article is issued from Wikiversity - version of the Saturday, January 04, 2014. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.