Python 熊猫:属性错误:';str';对象没有属性';isnull';
我正在创建一个新的列,名为lead\u actor\u actor\u known,其值是布尔值,基于第二列lead\u actor\u actor中是否有值。如果有值(参与者名称),则使用True填充第一列。如果没有值,则返回False AttributeError:'str'对象没有属性'isnull' 我的代码在上面抛出了一个错误Python 熊猫:属性错误:';str';对象没有属性';isnull';,python,pandas,Python,Pandas,我正在创建一个新的列,名为lead\u actor\u actor\u known,其值是布尔值,基于第二列lead\u actor\u actor中是否有值。如果有值(参与者名称),则使用True填充第一列。如果没有值,则返回False AttributeError:'str'对象没有属性'isnull' 我的代码在上面抛出了一个错误 df['lead_actor_actress_known'] = df['lead_actor_actress'].apply(lambda x: True i
df['lead_actor_actress_known'] = df['lead_actor_actress'].apply(lambda x: True if x.isnull() else False)
我遗漏了什么?亨利·埃克的评论包含了这个问题的答案,为了方便起见,我在答案部分复制了这个答案。将
.apply()
方法的应用程序替换为codedf['lead\u actor\u actor\u known']=df['lead\u actor\u actor'].isna()
这里要知道的是,
df['lead\u actor\u actor'].isna()
返回一个“布尔掩码”(一系列真值和假值),这正是您要求分配变量的内容lead\u actor\u actor该系列df['lead\u actor\u actor']
可能是一个类似于“Meryl Streep”的字符串这就是它没有isnull()属性的原因。尝试df['lead\u actor\u actor'].isnull()
应用于整个系列。从@HenryEcker的评论中可以看出,尝试不使用.apply()
,而是使用本机函数。你会在路上省去很多痛苦。