Challenge - 5 Problems
np.split Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of np.split() with equal splits
What is the output of the following code?
import numpy as np arr = np.array([10, 20, 30, 40, 50, 60]) splits = np.split(arr, 3) print(splits)
NumPy
import numpy as np arr = np.array([10, 20, 30, 40, 50, 60]) splits = np.split(arr, 3) print(splits)
Attempts:
2 left
💡 Hint
np.split divides the array into equal parts if possible.
✗ Incorrect
np.split(arr, 3) splits the array into 3 equal parts. Since arr has 6 elements, each part has 2 elements.
❓ Predict Output
intermediate2:00remaining
Output of np.split() with indices_or_sections as list
What is the output of this code?
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) splits = np.split(arr, [2, 5]) print(splits)
NumPy
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) splits = np.split(arr, [2, 5]) print(splits)
Attempts:
2 left
💡 Hint
The list [2, 5] means split before index 2 and before index 5.
✗ Incorrect
np.split(arr, [2, 5]) splits arr into three parts: elements before index 2, elements from 2 to 4, and elements from 5 onwards.
❓ data_output
advanced1:30remaining
Number of sub-arrays after splitting
How many sub-arrays are created by this code?
import numpy as np arr = np.arange(12) splits = np.split(arr, [3, 7, 10]) print(len(splits))
NumPy
import numpy as np arr = np.arange(12) splits = np.split(arr, [3, 7, 10]) print(len(splits))
Attempts:
2 left
💡 Hint
Number of sub-arrays is one more than the number of split indices.
✗ Incorrect
With split indices [3,7,10], np.split creates 4 sub-arrays.
🔧 Debug
advanced1:30remaining
Error raised by np.split with invalid split
What error does this code raise?
import numpy as np arr = np.array([1, 2, 3, 4]) splits = np.split(arr, 3)
NumPy
import numpy as np arr = np.array([1, 2, 3, 4]) splits = np.split(arr, 3)
Attempts:
2 left
💡 Hint
The array length is not divisible by 3.
✗ Incorrect
np.split requires equal division if given an integer. Here 4 elements cannot be split equally into 3 parts.
🚀 Application
expert2:30remaining
Using np.split to divide a 2D array by columns
Given a 2D array with shape (4, 6), which option correctly splits it into three arrays each with 2 columns?
import numpy as np arr = np.arange(24).reshape(4, 6) splits = np.split(arr, ?, axis=1) print([s.shape for s in splits])
NumPy
import numpy as np arr = np.arange(24).reshape(4, 6) splits = np.split(arr, ?, axis=1) print([s.shape for s in splits])
Attempts:
2 left
💡 Hint
Split indices mark column positions where to split.
✗ Incorrect
Splitting at columns 2 and 4 divides 6 columns into three parts with 2 columns each.