检查Python中的空列

2024-09-27 18:09:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含4列的spark dataframe

(col_1, col_2, col_3, col_4) ==> (String, String, Int, Int)

在数据中,有时col_3为空,例如:

^{pr2}$

{3>只想在测试之后返回一个新的列:

如果col_3为空返回col_4 否则返回col_3

为了解决这个问题,我这样做了:

>>>
>>> def calculcolumn(col_3, col_4):
...     if (col_3 is None ):
...             return col_4
...     else:
...             return col_3
...
>>>
>>> calculcolumn( ,12)
  File "<stdin>", line 1
    calculcolumn( ,12)
                  ^
SyntaxError: invalid syntax
>>>

但它抛出SyntaxError,我该如何解决它?在


Tags: 数据nonedataframestringreturnifisdef
2条回答

如果使用pyspark数据帧,则应该使用本机pyspark函数。要解决您的问题,您可以执行以下操作,根据col3是否为None创建一个新列:

df = df.withColumn('new_col', func.when(func.col("col3").isNull(), func.col("col4")).otherwise(func.col("col3"))

此函数将创建一个新列,如果col3为空,则使用col4,否则将使用col3。在

你得到了一个SyntaxError,因为,这是一个语法错误。
你也必须通过第一个论点。在

def calculcolumn(col_3, col_4):
    if (col_3 is None ):
        return col_4
    else:
        return col_3

calculcolumn(None, 12)

您也可以使用kwargs并执行以下操作:

^{pr2}$

相关问题 更多 >

    热门问题