Как понять [:,: 0] в python?
Дополню немного ответ @sergey-gornostaev
Это срез, вернее даже два.
Дело в том, что в питоне объекты могут поддерживать протокол __getitem__, этот метод вызывается когда объект употребляется с квадратными скобками справа. Значение, указанное в квадратных скобках, будет передано в качестве аргумента этому методу.
Тут есть два нюанса:
В обычном выражении на питоне запятая означает что результат выражения - это кортеж. То. что вычислилось между запятыми, будет элементами кортежа:
x=1,2,3
Второй нюанс заключается в том, что в квадратных скобках питон поддерживает особый такой "синтаксический сахар" называемый срезами (slice).
Вам действительно лучше почитать про срезы в книге. В общем у среза есть три аргумента и все необязательные. Если аргумента три то срез "под сахаром" выглядит так: 3:10:2 - "с третьего включительно по десятый исключительно с шагом 2".
Срез 3::2 - означает "с третьего включительно до последнего включительно с шагом 2"
Шаг можно опустить, по умолчанию он равен 1 и тогда не нужно второе двоеточие. Можно также не указывать и начало среза (типа сначала). Так : означает срез "от начала включительно до конца включительно с шагом 1".
Такие срезы можно указать через запятую.
Фактически фрейм - это трёхмерный массив. Первые два измерения - это высота и ширина, третье - это компоненты цвета.
В вашем примере операцию проводят над всеми пикселями от верха и до низа, по всей ширине но в определённом канале.

Правда, почитайте книгу. Такие вещи нужно осваивать последовательно, а не наскоком.
Это называется срез. Похоже, что в данном случае срез по массиву NumPy.