如何跨数据帧行执行多个if语句?

时间:2019-11-17 16:33:17

标签: python dataframe

我想执行多个If语句,但似乎不起作用?我会考虑使用一个简单的函数,但我认为.loc更快?

df.loc[df.ses1.isnull() & df.ses2 == 6 | 7, 'ses1'] = 4

这会执行,但数据框不会改变吗?为什么?

1 个答案:

答案 0 :(得分:1)

因为您正在执行的查询可能返回空序列(这是我的猜测)。 多个条件根据运算符的特定优先级工作。试试:

df.loc[df.ses1.isnull() & (df.ses2 == 6) | (df.ses2 == 7), 'ses1'] = 4