Итерация по строкам через фреймворк pandas

Я пытаюсь перебирать строки за строкой через DataFrame. Пока я делаю это следующим образом:

for i in df.index:
    do_something(df.ix[i])

Есть ли более эффективный и/или более идиоматический способ сделать это? Я знаю о применении, но иногда удобнее использовать цикл for.