Получение сообщения об ошибке при использовании 'np.where' - PullRequest
1 голос
/ 02 марта 2020

Я определил функцию, которая должна добавить новый столбец с именем season во фрейм данных. Значения сезона извлекаются из столбца дата :

def season(df):

    df['sum'] = ((df['date'].dt.month) * 100) + df['date'].dt.day

    df['season'] = np.where(df['sum'] > 320 & df['sum'] < 621, 1, np.where(df['sum'] > 620 & df['sum'] < 923, 2, np.where(df['sum'] > 922 & df['sum'] < 1223, 3, 4)))

    df.drop(['sum'], axis=1, inplace=True)

    return df

Но когда я вызываю эту функцию внутри основного кода, я получаю это сообщение об ошибке: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Где нужно изменить?

Спасибо.

1 Ответ

1 голос
/ 02 марта 2020

Поставьте df['sum'] >320 в скобках, т.е. (df['sum']>320)&(...).

. Или вы можете использовать gt и lt: df['sum'].gt(320)

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