Функция не уменьшается в пандах - PullRequest
0 голосов
/ 24 февраля 2019

У меня проблема с агрегатом панд.

У меня есть 4 столбца с типом "int" и один в виде строки.Я хочу, чтобы те с int суммировали, чтобы тот со строкой получал уникальный.

Я использовал следующую функцию:

df = df.groupby(['Time', 'Id', 'Object', 'Alias', 'Type'],as_index=False).agg(lambda x : x.sum() if x.dtype=='int' else x.unique())

Но я получаю следующую ошибку:

ValueError: Function does not reduce

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

1 Ответ

0 голосов
/ 24 февраля 2019

unique не является функцией агрегирования.Агрегирующие функции уменьшают размерность данных, например, sum сокращает список чисел до одного числа, тогда как unique уменьшает список до потенциально меньшего списка.

my_series = pd.Series([1, 2, 1, 3])  # 1-D
my_series.sum()  # 7, a scalar
my_series.unique()  # [1, 2, 3] still 1-D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...