на основе результатов столбца ДВА ИЛИ БОЛЕЕ, все последующие строки равны повторяющимся значениям, пока результат не изменится и не появится новое повторяющееся значение - PullRequest
0 голосов
/ 15 октября 2019

Первоначально я задал вопрос по следующей ссылке, на которую был дан хороший ответ. Пожалуйста, просто посмотрите для справки:

на основе результата столбца данных кадра все последующие строки равны повторяющимся значениям до тех пор, пока результат не изменится и не появится новое повторяющееся значение

Предположим, у меня есть следующийВывод:

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)

У меня возникла проблема с последующим выполнением: я хочу следующее:

  1. , если НЕТ в столбце (столбце) A встречается с 8 или9 на col B, чем col D также НЕТ. Только f за ним следует 1 на col C, тогда col D - ПЛОХО. BAD продолжается до 9, или если на столбце C

  2. не встречается большее число, если ДА в столбце (столбце) 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...