Насколько я могу судить, ваш вопрос не очень ясен, но я предполагаю, что вы спрашиваете, как создать новый столбец как функцию предыдущих столбцов? Вы почти никогда не захотите перебирать все столбцы, но если размер данных достаточно мал, это, конечно, не имеет значения.
Вы, возможно, захотите использовать векторизацию:
df = pd.DataFrame({'A' : [1,2,3,4,5,6], 'B': [6,5,4,3,2,1]})
df
>>> A B
0 1 6
1 2 5
2 3 4
3 4 3
4 5 2
5 6 1
Теперь вы можете просто определить новый столбец непосредственно из A и B:
df['C'] = (df['A']*df['B'] >= 8)
df
>>> A B C
0 1 6 False
1 2 5 True
2 3 4 True
3 4 3 True
4 5 2 True
5 6 1 False
Или, альтернативно, используйте apply для применения функции:
df['D'] = df['B'].apply(lambda x: -x)
df
>>> A B C D
0 1 6 False -6
1 2 5 True -5
2 3 4 True -4
3 4 3 True -3
4 5 2 True -2
5 6 1 False -1