Как уже упоминалось в вопросе, str.contains - это полезный инструмент для поиска по шаблону.
df.drop(df[df['name'].str.contains('R')].index.tolist())
.index
возвращает Int64Index, который не повторяется, поэтому .tolist()
преобразует его в список и, наконец, готов к df.drop([])
.