Доступ.
Ячейка .loc[1, 'col']
Cтолбец .loc[:, 'col']
Несколько столбцов .loc[:, ['col1', 'col2']]
Cтрока .loc[1]
Несколько строк подряд: .loc[3:8]
Логическая индексация по условию.
Строки целиком: df.loc[df.loc[:,'col'] == 'X']
или:
df[df['col'] == 'X']
Только столбец col2 со строками, удовлетворяющими условию в col1:
df[df['col1'] == 'X'] ['col2']
Булев массив как индекс датафрейма:
print(df[df['col1'] == 'smth'])
С другими операторами сравнения:
print(df[df['col1'] < 5])