pandas преобразует список слов документа в матрицу слова документа - PullRequest
1 голос
/ 12 октября 2019

У меня есть такой набор данных для панд:

  Brand AssociatedWord  Weight
0  pepsi           red      10
1  pepsi        yellow       3
2  coke            red       5
3  coke           grey       5
4  coke           pink       2

, который мне нужно преобразовать в следующую матрицу:

  Brand   red   yellow   grey   pink
0  pepsi   10        3      0      0
1  coke     5        0      5      2

Теперь каждая строка является брендом, и естьстолбец для каждого связанного слова, где сообщается вес ассоциации. Нулевое значение указывает на отсутствующую связь. Порядок столбцов не важен. Вы можете мне помочь?

1 Ответ

2 голосов
/ 12 октября 2019

Использование DataFrame.pivot_table:

new_df=df.pivot_table(index='Brand',columns='AssociatedWord',values='Weight',fill_value=0).reset_index()
print(new_df)

AssociatedWord  Brand  grey  pink  red  yellow
0                coke     5     2    5       0
1               pepsi     0     0   10       3

Примечание : AssociatedWord - это имя столбца, который можно изменитьэто используя:

new_df.columns.name=None

   Brand  grey  pink  red  yellow
0   coke     5     2    5       0
1  pepsi     0     0   10       3

Также вы можете использовать set_index + unstack:

new_df=df.set_index(['Brand','AssociatedWord']).unstack(fill_value=0).reset_index()
print(new_df)


new_name        Brand Weight                
AssociatedWord          grey pink red yellow
0                coke      5    2   5      0
1               pepsi      0    0  10      3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...