У меня есть dataframe «DF», и я хотел бы изменить значение столбца, если его значение ниже по сравнению с теми, в другом столбце, поэтому у меня есть:Изменения столбца в панде dataframe с петлей
A B C
2017-01-01 10 200 24
2017-01-02 20 300 28
2017-01-03 30 400 29
2017-01-04 40 500 512
2017-01-05 50 600 680
2017-01-06 60 700 999
... .. .. ..
2017-01-31 100 1200 1400
Моя цель такова: каждый раз, когда элемент B выше, чем элемент C (в той же строке), B делится на целое число, пока значение в B не будет меньше значения, указанного в C.
Я попытался использовать цикл while:
while df['C']<df['B']:
for i in range (0,len(df)-1):
for k in range(0,10000):
df[i]['B']=df[i]['B']/k
Это не работает, и я получаю следующее сообщение об ошибке:
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Кто-нибудь есть идея о том, как решить эту проблему? Большое спасибо
В коде есть много проблем, не знаю с чего начать. Вы ищете что-то узнать или просто имеете решение и избавляетесь от своей проблемы? – Boud
На самом деле это настоящая проблема, с которой мне нужно избавиться, надеюсь, что это не слишком много работает для кого-то, но – WhelanG
Тогда я бы рекомендовал вам более подробно описать ваши последующие подразделения «целым числом», поскольку ваш код не помогает делясь на ноль, и вы просто собираетесь трассировать – Boud