import numpy as np r = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], ]) g = np.array([ ['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ]) b = np.array([ ['A', 'B', 'C', 'D'], ['E', 'F', 'G', 'H'], ]) # složme 3 2D-pole do jednoho 3D-pole (podle třetí osy) rgb = np.stack((r, g, b), axis=2) # vzhled a vlastnosti pole print('rgb:') print(rgb) print(rgb.shape, rgb.ndim) # aplikace "fancy indexing" print('\n\nrgb == "A":') # ~ == je binární operace, která úspěšně proběhne díky broadcastingu podmínka = (rgb == 'A') print(podmínka) # ~ vytvořené pole pravdivostních hodnot následně použijeme k výběru prvků (zde tedy pouze jednoho :-) pole = rgb[podmínka] print('\nrgb[rgb == "A"]:') print(pole)