Python 有没有一种方法可以嵌套一个;如果;在a";至于;循环,然后作为“返回”;“真的”&引用;假“;,或;“不确定”;在新的列表中?
我目前在数据帧中有一个系列列(“DateDiff”),我正在尝试在它旁边创建一个新的列表/系列,该列表/系列根据“DateDiff”列中的值返回“True”、“False”或“unconfirable” 我尝试在for循环中创建一个嵌套的if函数,然后将这些返回附加到一个名为“fraud”的新列表中Python 有没有一种方法可以嵌套一个;如果;在a";至于;循环,然后作为“返回”;“真的”&引用;假“;,或;“不确定”;在新的列表中?,python,for-loop,if-statement,nested,Python,For Loop,If Statement,Nested,我目前在数据帧中有一个系列列(“DateDiff”),我正在尝试在它旁边创建一个新的列表/系列,该列表/系列根据“DateDiff”列中的值返回“True”、“False”或“unconfirable” 我尝试在for循环中创建一个嵌套的if函数,然后将这些返回附加到一个名为“fraud”的新列表中 减号=压缩['death']-压缩['STOP'] 减号=减号。tolist() 欺诈=[] 对于负值: 如果负值中的值>0: 欺诈。追加('True')) elif值在负,,因为您已经在循环遍历列
减号=压缩['death']-压缩['STOP']
减号=减号。tolist()
欺诈=[]
对于负值:
如果负值中的值>0:
欺诈。追加('True'))
elif值在负<0时:
欺诈。追加('False'))
elif值,单位为负==0:
欺诈。追加(‘不确定’)
我希望它能遍历每一行[减号],检查它是否为>,,因为您已经在循环遍历列表,所以应该使用变量
value
来引用迭代中的当前项。因此,您的if语句应该如下所示:
if value > 0:
其他的也一样。基本上,您需要删除每行减号中的
,否则它会将整个减号列表与数字0进行比较,这不是您希望发生的事情。使用for循环时,如果减号中的值>0,则无需说。减号是一个列表,不能将列表与整数进行比较。相反,您只需要if value>0
,因为它已经在for循环中了。您的代码应该如下所示:
minus = condensed['DEATHDATE'] - condensed['STOP']
minus = minus.tolist()
fraud = []
for value in minus:
if value > 0:
fraud.append('True')
elif value < 0:
fraud.append('False')
elif value == 0:
fraud.append('Unsure')
减号=压缩['death']-压缩['STOP']
减号=减号。tolist()
欺诈=[]
对于负值:
如果值>0:
欺诈。追加('True'))
elif值<0:
欺诈。追加('False'))
elif值==0:
欺诈。追加(‘不确定’)
只是你的for循环中的一个简单误解。快乐编码 因为,减
是list,0是int。谢谢!这肯定有助于澄清我的问题。也谢谢你!帮助我澄清,以便以后使用。
minus = condensed['DEATHDATE'] - condensed['STOP']
minus = minus.tolist()
fraud = []
for value in minus:
if value > 0:
fraud.append('True')
elif value < 0:
fraud.append('False')
elif value == 0:
fraud.append('Unsure')