У меня большой фрейм данных, и я хочу разделить значения одной и той же строки друг на друга, если выполняется определенное условие, и создать новый столбец для каждого условия.
Я перепробовал все виды циклов, но я получаю ошибку, что истинное значение ряда неоднозначно. Я думаю, что я близок к решению, но я не могу найти самый быстрый способ.
df = pd.DataFrame({'colA': np.random.randn(20), 'colB': np.random.randn(20), 'colC': np.random.randn(20)})
print(df)
x = 0
y = 0.5
for ix, r in df.iterrows():
if (r['colA'] > x) & (r['colA'] < y):
df.loc[ix,str(y)] = df.loc[ix,'colA']/df.loc[ix,'colB']
x += 0.5
y += 0.5
Вот как далеко я сейчас добрался. Проблема в том, что x и y увеличиваются после каждой строки, для которой выполняется условие. Но мне нужно, чтобы деление было выполнено для ВСЕХ строк, где выполняется условие, и ТО увеличьте x и y.