如何根据符合特定条件的列从数据框中选择最大值

问题描述 投票:0回答:1

我有一个数据框;如下所示:

“

我正在尝试创建一个名为pt的新名称,该名称将具有pt1-> pt5列中的最大值”>

代码:

  1. mdf.withColumn("pt", greatest(*list(filter(lambda x: x.startswith('pt'), df.columns)))).show()
    
  2. 这不起作用,我想是因为我正在尝试向数据框添加列表错误讯息

ValueError:最大应至少占用两列

  1. 我正在尝试获取名称以pt开头的所有列及其值
(mdf["colName"].startswith('pt'))

错误消息:

AnalysisException:'无法解析列名“ colName”

如何在Spark数据帧上编写SQL语句;这样就可以获取与条件匹配的列,然后从中获取最大(最大值)值并将其分配给新列?

我有一个数据框;如下所示:我正在尝试创建一个新的名为pt的pt,它将具有pt1-> pt5列中的最大值代码:mdf.withColumn(“ pt”,great(* list(filter(lambda x:.. 。

python pyspark multiple-columns pyspark-sql pyspark-dataframes
1个回答
0
投票

您可以从df.columns(这是所有列的列表)中获取所需的列,并且可以指定if语句以仅获取以pt开头的列。

© www.soinside.com 2019 - 2024. All rights reserved.