首页 > 解决方案 > Python 中的 SQL 更新案例

问题描述

我想在 pandas 中重现以下 SQL 代码。有人有建议吗?

UPDATE [Table] SET [Column1] =
                  CASE WHEN [Column2] IS NULL
                  AND         [Column3] IS NULL
                  THEN        [Column3]
                       WHEN [Column2] IS NOT NULL
                    AND       [Column3] IS NULL
                       THEN [Column2]
                       WHEN [Column2] IS NULL
                    AND       [Column3] IS NOT NULL
                         THEN [Column3]
                       WHEN [Column2] IS NOT NULL
                    AND       [Column3] IS NOT NULL
                         THEN [Column3]
                       ELSE [Column3]

结尾;

标签: pythonsqlpandas

解决方案


很高兴回答你的问题。我建议您更改代码如下:

# Set a default value.
df['Column1'] = df['Column3']
# Set Column2 only when Column2 is not Null and Column3 is Null.
df['Column1'][(df['Column2'] != None) & (df['Column3'] == None)] = df['Column2']
# Other case is set Column3 in default.

希望能从我的建议中得到任何帮助。谢谢。


推荐阅读