我想找出在pyspark中我在下面代码中使用的 Dataframe 中特定列中的零的数量
selected_columns = Combined_Final.columns[-12:]
Combined_Final = Combined_Final.withColumn("zero_count", sum([col(column) == lit(0) for column in selected_columns]))
字符串
低于误差
TypeError: Invalid argument, not a string or column:of type <class 'list'>. For column literals, use 'lit', 'array', 'struct' or 'create_map' function.
型
请帮帮忙
3条答案
按热度按时间wlsrxk511#
在这种情况下,您可以使用Spark高阶函数
filter
和concat_ws
来获取计数。Explanation:
split(concat_ws("",*df.columns),"")
->这里我们连接所有列数据并将每个字母拆分成一个数组。size(filter(temp,n -> n == 0))
->使用高阶函数过滤掉0。Example:
字符串
hsgswve42#
也许使用窗口?
字符串
输入:
型
输出量:
型
gcuhipw93#
使用选定的列创建数组列并聚合零的数量。
字符串