当前位置: 首页 > 知识库问答 >
问题:

Java Spark--使用when条件时对Spark dataframe列进行多值检查

杨飞飙
2023-03-14

我有一个dataframe,我在其中创建一个列,并根据其他列中的条件填充值。

List<String> new_lst = new ArrayList<String>();
new_lst.add("value 1");
new_lst.add("value_2");

df_new = df.withColumn("new_column",functions.when(functions.col("col_1").equalTo("A")
.and(functions.col("col_2").isin(new_lst.stream().toArray(String[]::new)),functions.col("col_3"))
.otherwise(functions.col("col_1");

共有2个答案

花高爽
2023-03-14
热门标签
徐卓
2023-03-14
相关问题
 类似资料:
  • 我有一个和这个问题很相似的问题。 我正在从表1中为表2中的字段3和字段4的所有匹配唯一组合选择所有数据。 我希望我的where子句类似于: 但这是Hibernate不允许的。 我已经尝试推出where子句,使其具有两个子查询,并根据结果检查field1和field2,但似乎子查询总是必须返回多列。我使用group by完成了这个操作,但是Hibernate会自动将group by中的列添加到投影列

  • 在一个有四列的大数据框(“myfile”)中,我必须添加第五列,其中的值有条件地基于前四列。 更喜欢使用和的答案,主要是因为它在大型数据集中的速度。 我的数据框如下所示: 第五列(V5)的值基于一些条件规则: 现在我想使用函数在所有行上使用这些规则(以避免慢循环)。类似这样的事情(是的,我知道这样不行!): 结果应该是: 如何在dplyr中执行此操作?

  • 我在严格模式下使用ModelMapper 地图(来源:学生到目的地:学生Dto) 为了在地址为空时转义映射,我设置了以下条件 问题是:即使地址不为null,我也要使街道和城市等于null。如何使用严格的映射来解决这个问题

  • 问题内容: 我有一个对象数组: 联系人类别: 而且我想通过该数组进行排序,然后在某些情况下接触得到了相同的。 我可以按其中一个条件进行排序,但不能同时按两个条件进行排序。 我如何添加更多条件来对该数组进行排序? 问题答案: 想一想“按多个标准排序”是什么意思。这意味着首先通过一个条件比较两个对象。然后,如果这些条件相同,则领带将被下一个条件破坏,依此类推,直到获得所需的排序。 您在这里看到的是me

  • 问题内容: 我有3列让说,和。我需要计算每列中的值。 例如: 应该输出: 我已经尝试了数,总和,子查询,但是还没有任何工作适合我。任何输入将不胜感激! 问题答案:

  • 问题内容: 在我的模型中,我有一个抽象的“ User”类,以及多个子类,例如Applicant,HiringManager和Interviewer。它们在一个表中,我只有一个DAO来管理它们。 用户: HiringManager(例如): 现在,如果我想得到所有与部门无关的招聘经理,我该怎么做?我想它看起来像: 但是,当我运行此代码时,Hibernate抱怨“无法解析属性:角色”(这实际上是有道理