我想执行多个If语句,但似乎不起作用?我会考虑使用一个简单的函数,但我认为.loc更快?
df.loc[df.ses1.isnull() & df.ses2 == 6 | 7, 'ses1'] = 4
这会执行,但数据框不会改变吗?为什么?
答案 0 :(得分:1)
因为您正在执行的查询可能返回空序列(这是我的猜测)。 多个条件根据运算符的特定优先级工作。试试:
df.loc[df.ses1.isnull() & (df.ses2 == 6) | (df.ses2 == 7), 'ses1'] = 4