Заменить значения в кадре данных с учетом количества групп на - PullRequest
0 голосов
/ 07 октября 2019

У меня есть датафрейм категориальных переменных. Я хочу заменить все поля в одном столбце произвольной уникальной строкой, если число этой категории в столбце меньше 100.

Так, например, в цвете столбца, если какой-либо цвет меньше100 раз я хочу, чтобы его заменила строка «base»

Я попробовал приведенный ниже код и попробовал разные вещи, которые я обнаружил при переполнении стека.


df['color'] = numpy.where(df.groupby("color").filter(lambda x: len(x) < 100), 'dummy', df['color'])

операнды не могли быть переданы вместес фигурами (45638872,878) () (8765878782788,)

1 Ответ

0 голосов
/ 07 октября 2019

IIUC, вам это нужно,

df.loc[df.groupby('color')['color'].transform('count')<100, 'color']= 'dummy'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...