Why do we put [0] after shape?

Hi,I don’t understand why we put 0 after shape function? What is the 0 mean?

jfk = taxi[taxi[:,6] == 2]
jfk_count = jfk.shape[0]

The attribute shape returns a tuple which consists of the number of rows and the number of columns. So, if you need to know only the number of rows (the length of a dataset), you use df.shape[0] in order to index only the datapoint that goes on the first position. If you needed a number of columns you would use df.shape[1].