Измените каждое имя записи в столбце на другое, соответствующее условию в Pandas - PullRequest
1 голос
/ 06 марта 2020

У меня есть Pandas Dataframe, где мне нужно заменить значения в столбце, если они находятся в списке слов.

Слишком много записей, поэтому я не могу сделать это вручную.

Я полагаю, что мог бы использовать для него словарь или список, но я не знаю, как его реализовать.

Скажите, что мой фрейм данных - df = [[Client], [Product ], [Amount]]

И что значения будут

Client Product    amount
John   Bubs          1
John   Supergum      1
John   Sourgum       1
John   Cherry cola   1
John   Root beer     1

Я хотел бы заменить все эти названия продуктов только их категориями, а не их указанными c name

Как бы мне go сделать это вместо этого

Client Product   Amount
   John   Bubblegum    1
   John   Bubblegum    1
   John   Bubblegum    1
   John   Beverage     1
   John   Beverage     1

?

1 Ответ

3 голосов
/ 06 марта 2020

Создайте словарь с ключами в качестве различных значений, которые вы хотите заменить, и значения словаря, установленного в категорию, которую вы хотите заменить.

list_of_gums = ['Bubs', 'Supergum', 'Sourgum']
dict_of_gums = dict.fromkeys(list_of_gums, 'Bubblegum')

dict_of_gums

{'Bubs': 'Bubblegum', 'Supergum': 'Bubblegum', 'Sourgum': 'Bubblegum'}

Затем используйте replace

df.assign(Product=df.Product.replace(dict_of_gums))

  Client      Product  amount
0   John    Bubblegum       1
1   John    Bubblegum       1
2   John    Bubblegum       1
3   John  Cherry cola       1
4   John    Root beer       1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...