1. NumPy v1.26 Manual, "Indexing on ndarrays," Section: "Slicing and striding." The documentation explains that negative indices count from the end of the array and that a slice i:j includes elements from i up to (but not including) j. A blank j implies the rest of the array. (Source: Official Vendor Documentation)
2. VanderPlas, J. (2016). Python Data Science Handbook. O'Reilly Media. Chapter 2, Section: "The Basics of NumPy Arrays," Sub-section: "Array Slicing: Accessing Subarrays." This section details how to use comma-separated slices to access subarrays, e.g., x[rowslice, colslice]. (Source: Peer-reviewed academic publication)