Почему функция замены не меняет текст столбца? - PullRequest
0 голосов
/ 01 октября 2019

У меня есть программа, которая читает файл CSV и возвращает True или False. Теперь я хочу использовать оператор If для замены текста столбца строкой, но функция замены не работает.

import pandas as pd

data = pd.read_excel(r'C:/Users/bryanmccormack/Downloads/***.xlsx')
data = data.astype(str)
df = pd.DataFrame(data, columns = ["Date Added","Track 
Item","Retailer","Retailer Item ID","TLD","UPC","Title",
                              "Manufacturer","Brand","Client Product 
Group","Category","Subcategory",
                              "Amazon Sub Category","Segment","Platform"])

excludes = ["chainsaw","pail","leaf","blower","genie", 
"straightener","backpack","iron","curling","dog","cat","wig"]

my_excludes = [set(key_word.lower().split()) for key_word in excludes]
match_titles = [e for e in df.Title if any(keywords.issubset for keywords 
in my_excludes)]

def is_match(title, excludes=excludes):
     my_excludes = [set(key_word.lower().split()) for key_word in 
     excludes]
     if any(keywords.issubset(title.lower().split()) for keywords in 
    my_excludes):
      return True
  return False
df['match_titles'] = df['Title'].apply(is_match)
result = df[df['match_titles']]['Retailer Item ID']

if df['match_titles'] == "True":
df['Track Items'].replace("Z-Exclude")

Код возвращает столбец как True или Falseесли заголовок содержит ключевое слово, которое я установил, это то, что я хочу, но код, следующий за ***, не работает. Я хочу, чтобы в столбце «Отслеживать элементы» отображалось «Исключение по Z», если «Названия совпадений» указаны как «Истина». Почему он не меняет текст столбца с «Отслеживание элементов» на «Z-Exclude»?

1 Ответ

0 голосов
/ 01 октября 2019

Попробуйте это:

df.loc[df['match_titles'] == True, 'Track Items'] = 'Z-Exclude'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...