Объединение избыточных терминов в CSV-файле и добавление их частот после удаления стоп-слов из файла в Python - PullRequest
0 голосов
/ 23 мая 2018

У меня есть 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               ..      
    ... 

Кроме того, я хочу получить этот вывод с удаленными английскими стоп-словами.Я не знаю, как это сделать с точки зрения кодирования.Любая помощь будет принята с благодарностью. Заранее спасибо.

1 Ответ

0 голосов
/ 23 мая 2018

Шаги: 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'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...