这是Categorical assignments using pd.apply based on multiple conditions on Pandas Columns的基础上
我有一个数据框,其中包含具有多个任务的项目ID号以及这些任务的完成日期。我正在尝试根据任务的完成情况或完成情况在单独的列中分配类别
我的数据框如下:
Item ID Task 1 Comp Date Task 2 Comp Date Task 3 Comp Date Solution
12781463 NaT NaT NaT Solution X
10547725 6/6/2019 7/30/2019 8/1/2019 Solution Y
12847251 5/31/2019 6/12/2019 NaT Solution Y
12734403 5/31/2019 NaT NAT Solution Y
为了测试我应对挑战的方法,我获取了数据集的一部分,并编写了将与pd.apply()一起使用的部分函数。下面是我的.apply()函数的一些示例代码
def gating(row):
if pd.notnull(row['Task 3 Comp Date']):
return "Complete"
elif (row['Solution'] == 'Solution X' & pd.isnull(row['Task 3 Comp Date'])):
return "Pending Solution X"
df['Gating'] = df.apply(gating, axis = 1)
我希望看到ID为12781463的待定解决方案X,但收到以下错误消息。似乎.apply()不能很好地与我尝试做的事情
(“&不支持的操作数类型:“ str”和“ bool””,“出现在索引9”)