Первоначально я задал вопрос по следующей ссылке, на которую был дан хороший ответ. Пожалуйста, просто посмотрите для справки:
на основе результата столбца данных кадра все последующие строки равны повторяющимся значениям до тех пор, пока результат не изменится и не появится новое повторяющееся значение
Предположим, у меня есть следующийВывод:
import pandas as pd
df = pd.DataFrame()
df['A'] = ('0','0','0','0','0','0','YES','0','YES','YES','YES','0','0','0','0','YES','0','0','0','0','0','0','0','0', 'NO','0','0','0','0')
df['B'] = ('1','','','3','2','1','','','','','','','','','','','','','','','','','','', '8','','','','')
df['C'] = ('','','','','','','9','','','','','','','','','9','8','7','6','5','4','3','2','1', '','','','','')
print(df)
У меня возникла проблема с последующим выполнением: я хочу следующее:
, если НЕТ в столбце (столбце) A встречается с 8 или9 на col B, чем col D также НЕТ. Только f за ним следует 1 на col C, тогда col D - ПЛОХО. BAD продолжается до 9, или если на столбце C
не встречается большее число, если ДА в столбце (столбце) A встречается с 8 или 9 на столбце C, чем также столбец DДа. Только если за столбцом B стоит 1, то столбец D ХОРОШО. ХОРОШО продолжается до 9, или если на столбце B
больше не встречается число, я могу пропустить правило или 2, но если вы можете сделать кадр данных похожим на следующий, я думаю, что он включенправильный путь
В основном я стремлюсь к тому, чтобы вывод выглядел следующим образом:
df['D'] = ('','','','GOOD','GOOD','GOOD','YES','','','','','','','','','YES','BAD','BAD','BAD','BAD','BAD','BAD','BAD','BAD', 'NO','','','','')
print(df)