Пример df:
filldata = [['5,Blue,Football', 3], ['Baseball,Blue,College,1993', 4], ['Green,5,Football', 1]]
df = pd.DataFrame(filldata, columns=['Tags', 'Count'])
Мне нужен уникальный список слов, используемых в столбце Tags
. Итак, я пытаюсь l oop через df и вытаскивать каждую строку Tags
, разбивать на ,
и добавлять слова в список. Я мог либо проверить и добавить только уникальные слова, либо добавить их все, а затем просто выделить уникальные. Я хотел бы найти решение для обоих методов, если возможно, чтобы увидеть, какой из них быстрее. Таким образом, ожидаемый результат должен быть:
5, Blue, Football, Baseball, College, 1993, Green
.
Я пробовал эти:
tagslist = df['Tags'][0].split(',') # To give me initial starting words
def adduniquetags(newtags, tagslist):
thesetags = newtags.split(',')
tagslist = tagslist.extend(thesetags)
return tagslist
tagslist = [adduniquetags(row, tagslist) for row in df['Tags']]
и
tagslist = df['Tags'][0].split(',')
def adduniquetags(newtags, tagslist):
thesetags = newtags.split(',')
for word in thesetags:
if word not in tagslist:
tagslist.append(word)
tagslist = [adduniquetags(row, tagslist) for row in df['Tags']]
Эти два по сути то же самое с тем, кто ищет только уникальные слова. Оба они возвращают список «Нет». Я также пробовал это:
tagslist = df['Tags'][0].split(',')
def adduniquetags(newtags, tagslist):
thesetags = newtags.split(',')
tagslist = list(set(tagslist + thesetags))
return tagslist
tagslist = [adduniquetags(row, tagslist) for row in df['Tags']]
Это добавляет уникальные значения для каждой строки, но не слова в каждой строке. Таким образом, даже несмотря на то, что я пытался разделить на ,
, он по-прежнему обрабатывает весь текст как один вместо использования отдельных слов из строки.