Панды: Ошибка атрибута: объект » str » не имеет атрибута «isnull»

#python #pandas

Вопрос:

Я создаю новый столбец с именем lead_actor_actress_known, значения которого являются логическими в зависимости от того, имеет ли значение значение во 2-м столбце lead_actor_actress или нет. Если есть значение(Имя участников), заполните 1-й столбец с помощью True, если значения нет, верните False

Ошибка атрибута: объект ‘str’ не имеет атрибута ‘isnull’

Мой код выдает ошибку выше.

 df['lead_actor_actress_known'] = df['lead_actor_actress'].apply(lambda x: True if x.isnull() else False)
 

Чего мне не хватает?

Комментарии:

1. Серия df['lead_actor_actress'] , по-видимому, представляет собой строку типа «Мерил Стрип», поэтому у нее нет атрибута isnull (). Попробуйте df['lead_actor_actress'].isnull() применить ко всей серии.

2. Вывод из комментария @HenryEcker состоит в том, чтобы попытаться не использовать .apply() , а вместо этого использовать собственные функции pandas. Вы избавите себя от большой боли в будущем.

Ответ №1:

Комментарий Генри Экера содержит ответ на этот вопрос, который я для удобства воспроизводю в разделе ответов. Замените применение .apply() метода кодом df['lead_actor_actress_known'] = df['lead_actor_actress'].isna() .

Здесь важно знать, что df['lead_actor_actress'].isna() возвращает «логическую маску» (ряд истинных и ложных значений), и это именно то, что вы просите назначить переменной lead_actor_actress .