Python 熊猫:每行取一个字符串,用逗号分隔,并向列表中添加唯一的单词

Python 熊猫:每行取一个字符串,用逗号分隔,并向列表中添加唯一的单词,python,pandas,dataframe,split,Python,Pandas,Dataframe,Split,样本df: filldata = [['5,Blue,Football', 3], ['Baseball,Blue,College,1993', 4], ['Green,5,Football', 1]] df = pd.DataFrame(filldata, columns=['Tags', 'Count']) 我想要一个在标签列中使用的单词的唯一列表。因此,我尝试通过df循环并拉取每一行标记,在上拆分,并将单词添加到列表中。我可以检查并只添加唯一的单词,也可以将它们全部添加,然后拉唯一。如果

样本df:

filldata = [['5,Blue,Football', 3], ['Baseball,Blue,College,1993', 4], ['Green,5,Football', 1]]
df = pd.DataFrame(filldata, columns=['Tags', 'Count'])
我想要一个在
标签
列中使用的单词的唯一列表。因此,我尝试通过df循环并拉取每一行
标记
,在
上拆分,
并将单词添加到列表中。我可以检查并只添加唯一的单词,也可以将它们全部添加,然后拉唯一。如果可能的话,我想要两种方法的解决方案,看看哪种更快。
因此,预期产出应为:

5,蓝色,足球,棒球,大学,1993年,绿色

我试过这些:

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(',')
    tagslist = list(set(tagslist + thesetags))
    return tagslist
tagslist = [adduniquetags(row, tagslist) for row in df['Tags']]
这是为每行添加唯一值,但不是每行中的单词。因此,即使我尝试在
上拆分,它仍然将整个文本视为一个文本,而不是使用字符串中的单个单词。

用于拆分字符串,然后使用来水平堆叠列
标记中的所有列表,接下来在这个堆叠数组中使用,以查找数组中的唯一元素

lst = np.unique(np.hstack(df['Tags'].str.split(','))).tolist()
另一个可能的想法是使用+:

结果:

['1993', '5', 'Baseball', 'Blue', 'College', 'Football', 'Green']
lst = df['Tags'].str.split(',').explode().unique().tolist()
['1993', '5', 'Baseball', 'Blue', 'College', 'Football', 'Green']