This will be our example data frame:
df = pd.DataFrame({"color": ['red', 'blue', 'red', 'blue']},
                  index=[True, False, True, False])
      color
True    red
False  blue
True    red
False  blue
Accessing with .loc
df.loc[True]
     color
True   red
True   red
Accessing with .iloc
df.iloc[True]
>> TypeError
df.iloc[1]
color    blue
dtype: object
Important to note is that older pandas versions did not distinguish between boolean and integer input, thus
.iloc[True]would return the same as.iloc[1]
Accessing with .ix
df.ix[True]
     color
True   red
True   red
df.ix[1]
color    blue
dtype: object
As you can see, .ix has two behaviors. This is very bad practice in code and thus it should be avoided. Please use .iloc or .loc to be more explicit.