我当前在数据帧中有一个Series列(“DateDiff”),我正在尝试在它旁边创建一个新的列表/系列,根据“DateDiff”列中的值返回“True”、“False”或“unconfirated”
我尝试在for循环中创建一个嵌套的if函数,然后将这些返回附加到一个名为“fraud”的新列表中
minus = condensed['DEATHDATE'] - condensed['STOP']
minus = minus.tolist()
fraud = []
for value in minus:
if value in minus > 0:
fraud.append('True')
elif value in minus < 0:
fraud.append('False')
elif value in minus == 0:
fraud.append('Unsure')
我希望它能穿过每一行的[minus],检查它是否是>&书信电报;,或==为0,然后返回并将“True”、“False”或“unconfirated”附加到列表[list]
每当我尝试运行上面的代码时,总是收到这个错误消息
类型错误:'>;'“list”和“int”实例之间不支持
因为您已经在列表中循环,所以应该使用变量
value
来引用迭代中的当前项。因此,if语句应该如下所示:其他的也一样。基本上,您需要删除每行上的
in minus
,否则它会将整个minus
列表与数字0进行比较,这不是您想要的结果使用for循环时,不需要说
if value in minus > 0
。减号是一个列表,不能将列表与整数进行比较。相反,您只需要if value > 0
,因为它已经在for循环中了。您的代码应如下所示:只是你的for循环中的一个简单误解。快乐的编码
相关问题 更多 >
编程相关推荐