我有一个数据框,其中包含具有多个任务的项目ID号以及这些任务的完成日期。我正在尝试根据任务的完成情况或完成情况在单独的列中分配类别
我的数据框如下:
Item ID Task 1 Comp Date Task 2 Comp Date Task 3 Comp Date
12781463 NaT NaT NaT
10547725 6/6/2019 7/30/2019 8/1/2019
12847251 5/31/2019 6/12/2019 NaT
12734403 5/31/2019 NaT NAT
为了测试我应对挑战的方法,我获取了数据集的一部分,并编写了将与pd.apply()一起使用的部分函数。下面是我的.apply()函数的一些示例代码
def gating(row):
if row['Task 1 Comp Date'].isnull():
return "Pending Task 1"
if row['Task 3 Comp Date'] .notnull():
return "Complete"
df['Gating'] = df.apply(gating, axis = 1)
我原本希望看到ID ID10547725的值为“完成”,但得到
AttributeError :(“ Timestamp”对象没有属性“ notnull”,“出现在索引8”)
我应该采取其他方法吗?
答案 0 :(得分:0)
我应该采取其他方法吗?
拉斐尔克提供了正确的答案:
将
row['Task 1 Comp Date'].isnull()
的{{1}}更改为
这可以纠正您报告的“ NaN故障”诊断:
AttributeError :(“ Timestamp”对象没有属性“ notnull”,“出现在索引8”)
您提出的当前问题已得到回答。 您的“有条件使用并再次检查”提示 也许您想发表一个单独的问题。