Данные слишком велики в пандах и морском рождении. Как создать «другой» столбец? - PullRequest
0 голосов
/ 14 сентября 2018

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

Затем я создал счетчик, чтобы увидеть, сколько раз эти комбинации появятся. Например, я хотел, чтобы люди ели яблоки и апельсины.

**Combination           Count**
Apples, Oranges         2
Apples                  1
Oranges                 1

Тем не менее, мой конкретный набор данных был слишком большим, и у меня есть много элементов со счетчиком 1. Я пытаюсь объединить их в «другую» группу для отображения с использованием seaborn для гистограммы. Тем не менее, все имена перекрываются из-за такого объема данных. Я хочу объединить, вероятно, последние 500 строк моего набора данных с «другим» (в качестве имени комбинации), и число является суммой всех этих значений.

В этом примере это будет выглядеть так:

**Combination           Count**
Apples, Oranges         2
Other                   2

Я пытался использовать groupby, но, не имея опыта работы с пандами, я не уверен, как написать это синтаксически. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 сентября 2018

Предполагая, что вы сделали import numpy as np, вы можете использовать np.where() для создания нового столбца, который использует 'Other', если Count равен 1, или существующий Combination в противном случае. Затем мы можем .groupby иsum чтобы найти итоги по 'New Combination'.Предполагая, что ваш кадр называется df:

df['New Combination'] = np.where(df['Count'] == 1, 'Other', df['Combination'])
totals = df.groupby('New Combination').agg({'Count': 'sum'})

Это дает вам:

                  Count
New Combination       
Apples, Oranges       2
Other                 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...