We use np.split() to break a big array into smaller parts. This helps us work with pieces of data separately.
np.split() for dividing arrays in NumPy
import numpy as np # Split array into multiple sub-arrays np.split(array, indices_or_sections, axis=0)
array is the original array you want to split.
indices_or_sections can be an integer (number of equal parts) or a list of indices where to split.
import numpy as np array = np.array([1, 2, 3, 4, 5, 6]) # Split into 3 equal parts parts = np.split(array, 3) print(parts)
import numpy as np array = np.array([1, 2, 3, 4, 5, 6]) # Split at indices 2 and 4 parts = np.split(array, [2, 4]) print(parts)
import numpy as np array = np.array([]) # Split empty array into 2 parts parts = np.array_split(array, 2) print(parts)
import numpy as np array = np.array([10]) # Split single element array into 1 part parts = np.split(array, 1) print(parts)
This program creates an array of 12 numbers and splits it into 4 equal parts. It prints the original array and each part after splitting.
import numpy as np # Create an array of 12 numbers numbers = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]) print("Original array:", numbers) # Split into 4 equal parts split_parts = np.split(numbers, 4) print("\nArray split into 4 parts:") for index, part in enumerate(split_parts, start=1): print(f"Part {index}:", part)
Time complexity is O(n) because the array elements are copied into new arrays.
Space complexity is O(n) since new arrays are created for each part.
A common mistake is trying to split into parts that do not evenly divide the array length, which causes an error.
Use np.array_split() if you want to split into unequal parts without error.
np.split() breaks an array into smaller arrays at specified points or into equal parts.
It requires the array to be divisible evenly if using an integer number of parts.
Useful for dividing data into chunks for separate analysis or processing.
Practice
np.split() function do in NumPy?Solution
Step 1: Understand the purpose of np.split()
The function is designed to break a large array into smaller arrays either by specifying split points or by dividing into equal parts.Step 2: Compare with other array functions
Unlike merging, sorting, or reshaping, np.split specifically divides arrays.Final Answer:
It divides an array into multiple smaller arrays at specified indices or into equal parts. -> Option BQuick Check:
np.split() = divides array [OK]
- Confusing split with merge
- Thinking it sorts arrays
- Mixing with reshape
arr into 3 equal parts using np.split()?Solution
Step 1: Recall np.split() syntax
The function signature is np.split(array, indices_or_sections), where indices_or_sections can be an integer for equal parts.Step 2: Identify correct usage
Passing 3 as the second argument splits the array into 3 equal parts. Keyword arguments like 'indices_or_sections' are not used explicitly in common syntax.Final Answer:
np.split(arr, 3) -> Option AQuick Check:
np.split(arr, 3) splits into 3 parts [OK]
- Using list instead of integer for equal parts
- Wrong keyword arguments
- Confusing indices with number of parts
import numpy as np arr = np.array([10, 20, 30, 40, 50, 60]) splits = np.split(arr, [2, 4]) print(splits)
Solution
Step 1: Understand split indices
The list [2, 4] means split at index 2 and then at index 4.Step 2: Divide the array accordingly
arr[:2] = [10, 20], arr[2:4] = [30, 40], arr[4:] = [50, 60]Final Answer:
[array([10, 20]), array([30, 40]), array([50, 60])] -> Option CQuick Check:
Split at 2 and 4 gives 3 parts [OK]
- Misunderstanding split points
- Off-by-one errors in slicing
- Confusing output format
import numpy as np arr = np.array([1, 2, 3, 4, 5]) splits = np.split(arr, 3) print(splits)
Solution
Step 1: Check array length and split parts
The array length is 5, but we want to split into 3 equal parts.Step 2: Understand np.split() behavior
np.split() requires the array length to be divisible by the number of parts when splitting equally, otherwise it raises an error.Final Answer:
The array length is not divisible by 3, so equal splits are impossible. -> Option AQuick Check:
Length 5 not divisible by 3 causes error [OK]
- Using integer splits on incompatible length
- Confusing np.split with np.array_split
- Assuming print error
data with shape (6, 4). You want to split it into 3 equal parts along the first axis (rows) for separate analysis. Which code correctly does this using np.split()?Solution
Step 1: Understand array shape and axis
data has 6 rows and 4 columns. Splitting into 3 equal parts along rows means each part has 2 rows.Step 2: Use np.split() with correct axis and parts
np.split(data, 3, axis=0) splits rows into 3 equal parts. axis=1 would split columns, which is not desired.Final Answer:
np.split(data, 3, axis=0) -> Option DQuick Check:
Split rows into 3 parts with axis=0 [OK]
- Splitting along wrong axis
- Using indices instead of number for equal parts
- Ignoring array shape
Ready to prove it?
Pass the test and this pattern moves unknown
