Python - 在数据框中的列的唯一值中查找单词出现

时间:2018-02-22 02:47:43

标签: python python-3.x pandas dataframe jupyter-notebook

我已经开发了一个功能,可以将电子表格加载到数据框中,并计算'产品的行数。包含词表中单词的列。

def wordlist_freq_count(filename, wordlist):
    xlsfile = pd.ExcelFile(filename)
    dframe = xlsfile.parse('Sheet1')
    total_count = 0
    for word in wordlist:
        count = dframe.Product.str.contains(word, case=False).sum()
        total_count += count
    return total_count

我该怎样做才能使数据框只有唯一的产品值,或者只给出一个带有出现词的唯一行的计数?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用isin

dframe.Product.isin(wordlist).sum()

如果碰巧Product列中的条目可能超过wordlist中的单个词,而您确实需要contains,那么您可以使用正则表达式。< / p>

dframe.Product.str.contains('|'.join(wordlist)).sum()