Как прокомментировали другие, почти всегда есть лучший подход, чем использование итераций в Pandas.В нем много встроенных функций, помогающих избежать циклов.
Если я правильно понимаю ваши намерения, чтобы вы взяли значения из столбца 1 (с именем 'STATUS'
), разделите их в зависимости от того, соответствует лизначение в столбце 2 (с именем 'xEXT'
) равно 'y'
или 'n'
, и сгенерируйте два списка, содержащих значения столбца 1, должно работать следующее (для использования после первых двух строк кода, которые вы опубликовали):
positive = df.loc[df['xEXT'].str.strip() == 'y', 'STATUS'].tolist()
negative = df.loc[df['xEXT'].str.strip() == 'n', 'STATUS'].tolist()
Вот ссылка на документацию по loc
, которая полезна для подобных проблем.
Приведенное выше решение предполагает, что ваши данные были прочитаны вправильно.Если это не работает для вас, сделайте, как другие прокомментировали, и добавьте небольшую выборку ваших данных, чтобы мы могли опробовать наши предлагаемые решения.