熊猫:属性错误:'str'对象没有属性'isnull'



我正在创建一个名为lead_actor_actress_known的新列,其值是布尔值,这取决于第二列中的值是否有值。如果有值(参与者名称(,则使用True填充第一列如果没有值,则返回False

属性错误:"str"对象没有属性"isnull"

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

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

我错过了什么?

当x是数据帧时,可以使用x.isull((。但是你使用了str,所以你可以使用pd。isnull(x(

你能试试这个代码吗:

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

您可以简单地使用numpy的where:

import numpy as np
import pandas as pd
df['lead_actor_actress_known'] = np.where(pd.isna(df['lead_actor_actress']), False, True)

我把"False"放在第一位,因为当没有值时,你想要一个布尔值=False。

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

这里要知道的是,CCD_;布尔掩码";(一系列True和False值(,这正是您要求分配变量lead_actor_actress的内容。

最新更新