Вопрос пользователя:
Ответ нейросети:
Код не работает, потому что вы пытаетесь применить метод apply
к объекту DataFrame columns_to_check
, который содержит только столбцы OnlineSecurity
, OnlineBackup
, DeviceProtection
, StreamingTV
, StreamingMovies
, а не строки. Метод apply
применяется к строкам или столбцам DataFrame, а не к отдельным значениям.
Для решения этой проблемы можно использовать метод applymap
, который применяет функцию к каждому элементу DataFrame:
columns_to_check = df[['OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'StreamingTV', 'StreamingMovies']] df_internet['NumServices'] = columns_to_check.applymap(lambda x: 1 if x.lower() == 'yes' else 0).sum(axis=1)
Этот код пройдет по каждому элементу DataFrame columns_to_check
и заменит значение yes
на 1 и любое другое значение на 0. Затем он просуммирует значения по строкам и добавит их в новый столбец NumServices
в DataFrame df_internet
.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.