Проблема в вашем if
утверждении -
if train_news.iloc[:,0].isin(['mostly-true','half-true','true'])
Подумайте, что это делает -
Допустим, train_news.iloc[:,0]
выглядит так -
mostly-true
not-true
half-true
Теперь, если вы сделаете train_news.iloc[:,0].isin(['mostly-true','half-true','true'])
, это будет итеративно проверять, присутствует ли каждый элемент в списке ['mostly-true','half-true','true']
Итак, это даст еще один pandas.Series
, который выглядит так -
True
False
True
Оператор if
в python, будучи простым человеком, ожидает одно значение bool
, и вы просто путаете его, предоставляя набор логических значений. Итак, либо вам нужно использовать .all()
или .any()
(это обычные задачи) в конце, в зависимости от того, что вы хотите