Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在一个csv文件中组合冗余术语,并在python中从文件中删除停止字后添加它们的频率_Python 3.x_Pandas_Nltk - Fatal编程技术网

Python 3.x 在一个csv文件中组合冗余术语,并在python中从文件中删除停止字后添加它们的频率

Python 3.x 在一个csv文件中组合冗余术语,并在python中从文件中删除停止字后添加它们的频率,python-3.x,pandas,nltk,Python 3.x,Pandas,Nltk,我有一个csv文件,看起来像这样- Words Author Frequency #NAME? Pandey P 4 OF Hamzad Ali 135 OF Karen Sara 80 A Hamzad Ali 69 AND

我有一个csv文件,看起来像这样-

    Words           Author              Frequency
    #NAME?          Pandey P            4
    OF              Hamzad Ali          135
    OF              Karen Sara          80
    A               Hamzad Ali          69
    AND             Hamzad Ali          67
    OF              Pandey P            67
    HIV-1           Hamzad Ali          49
    AND             Karen Sara          45
    IN              Hamzad Ali          44
    OF              John christopher    44
    IN              John christopher    40
    INHIBITORS      Hamzad Ali          39
    THE             Karen Sara          39
    INTEGRASE       Hamzad Ali          38
    VIRUS           Karen Sara          38
    C               Karen Sara          35
    THE             Hamzad Ali          35
    HEPATITIS       Karen Sara          34
    THE             Pandey P            34
    IN              Karen Sara          33
    KINASE          Pandey P            31
    THE             John christopher    31
    AND             Pandey P            28
    INHIBITOR       Hamzad Ali          26
    POLYMERASE      Karen Sara          26
    AND             John christopher    25
    IN              Pandey P            25
    TO              Hamzad Ali          25
    WITH            Karen Sara          25
    FOR             Hamzad Ali          23
    HCV             Karen Sara          23
    NS5B            Karen Sara          23
    HIV             Hamzad Ali          22
    NOVEL           Hamzad Ali          22
    WITH            Hamzad Ali          22
    A               Karen Sara          21
    OF              Lieberman La        21
    INHIBITOR       Karen Sara          20
    PROTEIN         Pandey P            20
    BY              Hamzad Ali          19
    INHIBITORS      Karen Sara          19
    OF              Oslund Rc           19
    OF              Wyche Tp            19
    VIRUS           Hamzad Ali          19
    HUMAN           Hamzad Ali          18
    OF              Danilchanka O       18
    OF              Hett E              17
    OF              Sana Tr             17
    A               Wyche Tp            16
    ACTIVITY        Hamzad Ali          16
    AND             Roberts L           16
    GENE            John christopher    16
    OF              Fadeyi O            16
    AND             Sana Tr             15
    OF              Roberts L           15
    RESISTANCE      Hamzad Ali          15
    REVERSE         Hamzad Ali          15
    TRANSCRIPTASE   Hamzad Ali          15
    ACID            Hamzad Ali          14
    ACTIVATION      Pandey P            14
    BY              Pandey P            14
    IN              Lieberman La        14
    PROTEASE        Karen Sara          14
    1               Hamzad Ali          13
    ANTAGONISTS     Hamzad Ali          13
    CCR5            Hamzad Ali          13
    EXPRESSION      John christopher    13
    FOR             Karen Sara          13
    HEPATITIS       Hamzad Ali          13
    IN              White Ch            13
    INFECTION       Hamzad Ali          13
    HEPATITIS       John christopher    
我想合并所有多余的术语,并按作者分开计数。例如,我希望输出像这样-

    Words          Pandey P    Hamzad Ali    Karen Saha     John christopher  ..   
    HEPATITIS      47          38            32              28               ..      
    INHIBITORS     0           34            22               5       
    KINASE         45          5             0                0                ..
    HIV-1          40          35            11               25               ..      
    ... 
另外,我想用删除的英语stopwords获得这个输出。 我不知道如何从编码的角度来做。任何帮助都将不胜感激。请提前感谢。

相关步骤 1.停止说话 2.制作虚拟列以保持小写 3.删除停止字中的记录 4.按单词分组将索引设置为单词作为作者 5.取消每个组的堆叠并保持频率

我试过这个

#snippet to remove stop words
stopwords_english= set(stopwords.words('english'))
df['dummy']=df['Words'].str.lower()
df=df[~df['dummy'].isin(stopwords_english)]
del df['dummy']

#snippet to get your desire result
df.groupby(['Words']).apply(lambda x:x.set_index(['Words','Author']).unstack()['Frequency'])

问“我从哪里开始”或需要指针的问题通常过于宽泛,不适合此网站。@AChampion-很抱歉在没有代码的情况下发布此问题,但我在项目中被卡住了,并且有一个截止日期。下一次我一定会处理好的。谢谢你指出这一点。:)这在给出所有术语时效果很好,即使是数据中有括号和没有括号的相同术语。多谢@spideypack-我很高兴在将pandas版本更新到0.23.1之后听到这个消息,这个代码应该会给我想要的结果
df.groupby(['Words']).apply(lambda x:x.set_index(['Words','Author']).unstack()['Frequency'])
以前运行正常的代码现在给我这个错误-
keyrerror:'Words'
。我相信这个错误是有人提到这个-。你能帮个忙吗?提前谢谢@spideypack-抱歉,我使用的是旧版本的熊猫,如果升级到新版本后出现问题,您可以就此提出新问题。我也会设法解决这个问题。如果我找到了解决方案,我会更新解决方案。