Pandas Leetcode 1193. Ежемесячные транзакции I [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pandas Leetcode 1193. Ежемесячные транзакции I [закрыто]

Сообщение Anonymous »

Мое решение проблемы 1193 с Leetcode Pandas. печатает правильный ответ, когда я пишу print(df) в конце. Однако он выдает максимальную ошибку рекурсии для возврата df. Сможете ли вы определить, где ошибка?

Код: Выделить всё

def monthly_transactions(transactions: pd.DataFrame) -> pd.DataFrame:

df = transactions.groupby([pd.Grouper(key='trans_date', freq='M') ,'country', ],
as_index = False).agg(
trans_count = ('trans_date', 'size'),
approved_count = ('state', lambda x: (x == 'approved').sum()),
trans_total_amount = ('amount', 'sum'),
approved_total_amount=('amount', lambda x: x[transactions['state'] == 'approved'].sum())
).rename(columns = {'trans_date' : 'month'})

df['month'] = df['month'].dt.to_period('M')

#print(df)  -> shows the correct solution

return df   # -> throws OverflowError: Maximum recursion level reached
Сначала я группирую по датам и странам, затем агрегирую с помощью лямбда-функций. Я видел другие подходы, когда люди сначала изменяют исходный фрейм данных, чтобы упростить агрегацию, и это нормально. Однако я хотел написать функцию, которая выполняет все необходимые вычисления в функции .agg().

Подробнее здесь: https://stackoverflow.com/questions/791 ... sactions-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»