【问题标题】:Combine bag of words for multiple documents为多个文档组合词袋
【发布时间】:2020-06-25 23:02:56
【问题描述】:

我有多个文档,在这个例子中假设为 3。 它们每个都包含几个不同的单词,用空格分隔。现在我想计算每个文档的所有单词并将其放入矩阵或数据框中。所以我将特定的文档作为一行,每个单词作为一列,出现次数作为数据框中的数字。请参阅下面的示例

Doc1 = "a b c d"
Doc2 = "a c e f"
Doc3 = "a e f f"


data = {'a': [1,1,1],
        'b': [1,0,0],
        'c': [1,1,0],
        'd': [1,0,0],
        'e': [0,1,1],
        'f': [0,1,2],
        }

df = pd.DataFrame (data)

【问题讨论】:

    标签: python word-count


    【解决方案1】:
    doc1 = "a b c d"
    doc2 = "a c e f"
    doc3 = "a e f f"
    
    docs = [doc1, doc2, doc3]
    
    data = {}
    
    for i, doc in enumerate(docs):
        for word in doc.split():
            val = data.get(word, [0] * len(docs))
            val[i] += 1
            data[word] = val
    print(data)
    
    # Alternative
    
    data = {}
    for i, doc in enumerate(docs):
        for word in doc.split():
            try:
                data[word][i] += 1
            except KeyError:
                data[word] = [0 if i != j else 1 for j in range(len(docs))]
    print(data)
    

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 2019-02-28
      • 2015-11-02
      • 2017-05-28
      • 2015-11-22
      • 2022-11-20
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多