1. What is NumPy? Explain its advantages over Python lists.
2. How can we create a NumPy array? Give examples of array creation using different functions like
array(), arange(), linspace(), zeros(), ones(), full().
3. Explain the shape, size, and ndim attributes of NumPy arrays with examples.
4. What are the different types of indexing and slicing in NumPy? Provide examples.
5. What is broadcasting in NumPy? Explain with an example.
6. Explain the difference between shallow copy and deep copy in NumPy arrays.
7. What are universal functions (ufuncs) in NumPy? Give examples like np.sqrt(), np.exp(), np.sin(),
np.log().
8. Explain the use of aggregate functions such as np.sum(), np.mean(), np.std(), np.max(), np.min(),
np.median().
9. What is the difference between np.linspace() and np.arange()? Give examples.
10. Write Python code using NumPy to create a 2D array and access its elements row-wise and
column-wise.
11. Explain the concept of reshaping arrays in NumPy. Use reshape(), flatten(), ravel() with
examples.
12. Create a NumPy array of shape (3, 3) and perform matrix operations: addition, subtraction,
multiplication, and transpose.
13. How do we perform element-wise operations on arrays in NumPy? Give at least 3 examples.
14. What are axis values in NumPy functions? How do they affect the output of functions like sum,
mean?
15. What are structured arrays in NumPy? Explain with an example.