如何使用if+else if+else条件逻辑修改数据表final列的取值
实现方案
以下是不同使用场景下的实现方式:
Excel 场景
假设source1在A列、source2在B列,在final列的首个数据行输入公式=IF(OR(A2=1,B2=1),1,0),下拉填充整列即可。
Python Pandas 场景
你可以直接通过逻辑判断生成final列,两种常用写法如下:
# 写法1:按条件逐段赋值 df.loc[(df['source1'] == 1) | (df['source2'] == 1), 'final'] = 1 df.loc[(df['source1'] != 1) & (df['source2'] != 1), 'final'] = 0 # 写法2:更简洁的布尔值转整数写法 df['final'] = ((df['source1'] == 1) | (df['source2'] == 1)).astype(int)
SQL 场景
如果是操作数据库表,可以用UPDATE语句完成字段更新:
-- 写法1:分两次更新 UPDATE 你的表名 SET final = 1 WHERE source1 = 1 OR source2 = 1; UPDATE 你的表名 SET final = 0 WHERE source1 != 1 AND source2 != 1; -- 写法2:用CASE语句一步完成(兼容绝大多数SQL数据库) UPDATE 你的表名 SET final = CASE WHEN source1 = 1 OR source2 = 1 THEN 1 ELSE 0 END;
内容的提问来源于stack exchange,提问作者MDStat
相关产品推荐
相关产品推荐

