【问题标题】:Pandas: AttributeError: 'str' object has no attribute 'isnull'Pandas:AttributeError:“str”对象没有属性“isnull”
【发布时间】:2021-05-23 13:19:05
【问题描述】:

我正在创建一个名为 lead_actor_actress_known 的新列,其值是布尔值,具体取决于第二列 lead_actor_actress 是否具有值。如果有值(演员名称)使用 True 填充第一列,如果没有值,则返回 False

AttributeError: 'str' 对象没有属性 'isnull'

我的代码在上面抛出错误。

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

我错过了什么?

【问题讨论】:

  • 系列df['lead_actor_actress'] 大概是一个类似“Meryl Streep”的字符串,这就是它没有 isnull() 属性的原因。尝试df['lead_actor_actress'].isnull() 申请全系列。
  • @HenryEcker 评论的要点是尽量不要使用.apply(),而是使用原生的 pandas 函数。你会为自己省去很多痛苦。

标签: python pandas


【解决方案1】:

Henry Ecker 的评论包含此问题的答案,为方便起见,我在答案部分复制。将.apply() 方法的应用程序替换为代码df['lead_actor_actress_known'] = df['lead_actor_actress'].isna()

这里要知道的是 df['lead_actor_actress'].isna() 返回一个“布尔掩码”(一系列 True 和 False 值),这正是您要求分配变量 lead_actor_actress 的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-08
    • 2016-09-14
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2016-09-20
    • 2019-03-25
    相关资源
    最近更新 更多