Python Array Slice With Comma? Python Array Slice With Comma? numpy numpy

Python Array Slice With Comma?


It is being used to extract a specific column from a 2D array. Refer to the first examples here.

So your example would extract column 0 (the first column) from the first 2048 rows (0 to 2047). Note however that this syntax will only work for numpy arrays and not general python lists.


Empirically - create an array using numpy

m = np.fromfunction(lambda i, j: (i +1)* 10 + j + 1, (9, 4), dtype=int)

which assigns an array like below to m

array(      [[11, 12, 13, 14],       [21, 22, 23, 24],       [31, 32, 33, 34],       [41, 42, 43, 44],       [51, 52, 53, 54],       [61, 62, 63, 64],       [71, 72, 73, 74],       [81, 82, 83, 84],       [91, 92, 93, 94]])

Now for the slice

m[:,0]

giving us

array([11, 21, 31, 41, 51, 61, 71, 81, 91])

I may have misinterpreted Khan Academy (so take with grain of salt):

In linear algebra terms, m[:,n] is taking the nth column vector of the matrix m

See Abhranil's note how this specific interpretation only applies to numpy


It slices with a tuple. What exactly the tuple means depends on the object being sliced. In NumPy arrays, it performs a m-dimensional slice on a n-dimensional array.

>>> class C(object):...   def __getitem__(self, val):...     print val... >>> c = C()>>> c[1:2,3:4](slice(1, 2, None), slice(3, 4, None))>>> c[5:6,7](slice(5, 6, None), 7)