Похоже, вы хотите взять столбцы с 1 по 3 из строк, которые имеют три слова в столбце 4, правильно? Вы можете сделать это без каких-либо петель.
df = pd.DataFrame([[0, 1, 2, 3, "a b c"],
[4, 5, 6, 7, "a b"],
[8, 9, 10, 11, "d e f"]])
df[df[4].str.split().str.len() == 3].iloc[:, 1:4]
# 1 2 3
#0 1 2 3
#2 9 10 11