0
0
SciPydata~20 mins

Sparse matrix file I/O in SciPy - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Sparse Matrix File I/O Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of saving and loading a sparse matrix
What will be the output shape of the sparse matrix after saving and loading it using scipy's save_npz and load_npz?
SciPy
import numpy as np
from scipy.sparse import csr_matrix, save_npz, load_npz

matrix = csr_matrix(np.array([[0, 0, 1], [1, 0, 0], [0, 2, 0]]))
save_npz('test_matrix.npz', matrix)
loaded_matrix = load_npz('test_matrix.npz')
print(loaded_matrix.shape)
A(3, 2)
B(2, 3)
C(3, 3)
D(2, 2)
Attempts:
2 left
💡 Hint
The shape of the matrix does not change when saving and loading with scipy sparse functions.
data_output
intermediate
2:00remaining
Data content after loading sparse matrix
After saving and loading the sparse matrix below, what will be the value at position (1, 0) in the loaded matrix?
SciPy
import numpy as np
from scipy.sparse import csr_matrix, save_npz, load_npz

matrix = csr_matrix(np.array([[0, 0, 1], [1, 0, 0], [0, 2, 0]]))
save_npz('test_matrix.npz', matrix)
loaded_matrix = load_npz('test_matrix.npz')
print(loaded_matrix[1, 0])
ANone
B1
C0
D2
Attempts:
2 left
💡 Hint
Check the original matrix value at row 1, column 0.
🔧 Debug
advanced
2:00remaining
Identify the error when loading a sparse matrix
What error will occur when trying to load a sparse matrix from a file that does not exist using load_npz?
SciPy
from scipy.sparse import load_npz
loaded_matrix = load_npz('nonexistent_file.npz')
ATypeError
BValueError
CKeyError
DFileNotFoundError
Attempts:
2 left
💡 Hint
Think about what happens when you try to open a file that does not exist.
🚀 Application
advanced
2:00remaining
Choosing the best file format for sparse matrix storage
You have a large sparse matrix that you want to save and share with others. Which file format is best to use for saving and loading sparse matrices efficiently with scipy?
ANPZ format using save_npz and load_npz
BCSV format using numpy.savetxt and numpy.loadtxt
CTXT format using Python's open and write
DJSON format using json.dump and json.load
Attempts:
2 left
💡 Hint
Consider which format preserves sparsity and is optimized for scipy sparse matrices.
🧠 Conceptual
expert
3:00remaining
Understanding sparse matrix file I/O internals
Which of the following best describes what save_npz stores when saving a scipy CSR sparse matrix?
AIt stores the data array, indices array, indptr array, and shape tuple in a compressed NPZ file
BIt stores the full dense matrix as a numpy array in the NPZ file
CIt stores only the nonzero values in a plain text file
DIt stores the matrix as a JSON object with keys for rows and columns
Attempts:
2 left
💡 Hint
Think about how CSR format represents sparse matrices internally.