Синтаксис агрегации Pandas выдает ошибку TypeError: аргумент int () должен быть строкой, байтовым объектом или числом, а не _NoValueType

0

У меня есть фреймворк pandas следующим образом

aa = pd.DataFrame({
'x': range(0, 5),
'g1': [1,1,2,2,1]})

когда я использую безымянную агрегацию, я получил ожидаемые результаты

xx = aa.groupby('g1').agg({'x' : 'sum'}).reset_index()

Но когда я меняю синтаксис на именованную агрегацию

xx = aa.groupby('g1').agg(xsum=('x', 'sum')).reset_index()

Я получил следующее сообщение об ошибке

TypeError: int() argument must be a string, a bytes-like object or a number, not '_NoValueType'

Не уверен, где я ошибся ..

1

Ваша ошибка лежит где-то еще, в вашем коде нет преобразования в int.

Предоставленный фрагмент кода работает нормально, как и ожидалось:

import pandas as pd
aa = pd.DataFrame({'x': range(0, 5),
                   'g1': [1,1,2,2,1]})
aa.groupby('g1').agg(xsum=('x', 'sum')).reset_index()

Выход:

   g1  xsum
0   1     5
1   2     5