根据列值选择数据框行

时间:2020-05-14 15:06:30

标签: python dataframe search nlp

我有一个数据框,其中一列包含单词(概念),其他六列包含每个单词的情感(例如,欢乐,悲伤,...具有0和1值)。我希望能够为数据集的每个实例计算属于每个情感的单词数。

例如:

concept   joy    sadness    surprise   ...
security   1        0           0      ...
shame      0        1           0      ...

对于包含上述示例中出现的两个单词的句子(并假设词典中没有其他单词),我的得分应为joy = 1sadness = 1,其余得分为情绪= 0。

我正在尝试搜索单词的完全匹配项或与句子中经过去词缀化的单词的匹配项(在词典中这两者之间似乎是混合的)。

我尝试过:

instance = "The security camera broke one day after I bought it. That's such a shame!"

for word in instance:
    lemmatized_word = wordnet_lemmatizer.lemmatize(word)
    df1 = lexicon[lexicon['Concepts'].str.contains(word, case = False, na = False)] 
    df2 = lexicon[lexicon['Concepts'].str.contains(lemmatized_word, case = False, na = False)] 

为了获得另一个数据框,该数据框包含该句子中出现的所有属于词典的单词,因此以后我可以对所有其他列进行求和。

不仅返回的数据帧不是我所期望的(它包含许多不应该存在的额外行),而且由于我是一个新手,所以我也不确定这是否是正确的方法。

任何帮助将不胜感激!

0 个答案:

没有答案