С помощью цикла однозначно не придется. Встроенный инструмент есть, даже много.
чтобы мне достать из этих столбцов уникальные значения
Вот это не совсем понятно, может имелось ввиду из списков, уникальные, и что значит достать.
Если у тебя твои данные в списках то можно использовать explode.
(
pd.DataFrame({
'ID':[1,2],
'genres':[['Strategy'],['Fightening','Adventure','Arcade']]
})
.explode('genres')
)
Затем unique (уникальные) value_counts (посчитать каких и сколько у тебя там) или все что угодно, опций огромное количество. Обрати внимание структура фрейма не рушится (поведение колонки ID).
В качестве ответа. Цикл не использовать, можно все. Для более конкретного ответа. Предоставляешь игрушечный фрейм, и то что ты хочешь увидеть, на выходе. По скольку словами не очевидно, что именно ты хочешь.