Pandas groupby TypeError: '>' не поддерживается между экземплярами 'SeriesGroupBy' и 'int' - PullRequest
2 голосов
/ 11 октября 2019

У меня есть следующий код:

group = df.groupby(['Id',  'Name'])
conditions = [
    ((group["Balance"]>0) & (group['Value']>0) & (group['L_Date']<=group['c_date'])),
    ((group["Balance"]==0) & (group['Value']==0) & (group['L_Date']<=group['c_date']))]
choices = ['Good', 'Bad']
df['outcome'] = np.select(conditions, choices, default='Normal')

Но он выдает мне следующую ошибку:

TypeError: '>' not supported between instances of 'SeriesGroupBy' and 'int'

Как правильно это сделать?

1 Ответ

3 голосов
/ 11 октября 2019

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

group = df.groupby(['Id',  'Name'])

Используйте только:

conditions = [
    ((df["Balance"]>0) & (df['Value']>0) & (df['L_Date']<=df['c_date'])),
    ((df["Balance"]==0) & (df['Value']==0) & (df['L_Date']<=df['c_date']))]
choices = ['Good', 'Bad']
df['outcome'] = np.select(conditions, choices, default='Normal')
...