基于 Spark 中 2 列组合的新列

数据人

输入DF

col1   col2 ..... coln
 1      1             
 1      2                    
 1 .    3                
 2 .    1             
 2 .    2

我正在尝试添加一个新列,应该是

1. "max" for all the rows of the combination (col1 , max(col2),...coln)
2. "not_max" otherwise

输出DF:

 col1 . col2 . new_col ..... coln
  1       1     not_max
  1 .     2 .   not_max
  1       3 .   max
  2 .     1 .   not_max
  2 .     2 .   max

我可以通过使用 groupBy 和这个新列创建一个新的 DF 并连接回原始 DF 来组合它来做到这一点。关于如何直接实施的任何建议。谢谢。

西多姆

您可以使用maxsql 窗口函数一次性完成此操作,并将计算结果maxcol2

df.selectExpr("*", 
    "case when col2 = max(col2) over (partition by col1)" + 
    "then 'max' else 'not max' end as new_col"
).show
+----+----+----+-------+
|col1|col2|col3|new_col|
+----+----+----+-------+
|   1|   1|   1|not max|
|   1|   2|   2|not max|
|   1|   3|   1|    max|
|   2|   1|   1|not max|
|   2|   2|   3|    max|
+----+----+----+-------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于组合 1 和多列在 Pandas DataFrame 中创建新列

来自分类Dev

Spark聚合/分组依据,以便基于集合中的col值确定新列的值

来自分类Dev

Spark:将 UDF 应用于 Dataframe 基于 DF 中的值生成新列

来自分类Dev

基于pandas数据框中唯一性的2列值的编号组合

来自分类Dev

基于 2 列组合条件在表中插入缺失值的 T-SQL 查询

来自分类Dev

基于Spark中列值的动态regexp_extract

来自分类Dev

基于Scala中的关键列合并Spark数据帧行

来自分类Dev

如何基于多个列上多个条件的组合为数据框中的新列分配值

来自分类Dev

基于数组的pandas df中的新列

来自分类Dev

基于其他数据框中的列,在数据框中执行Spark Deduplicate列

来自分类Dev

基于2列替换列匹配中的velue

来自分类Dev

交叉联接/合并dataframe1以基于dataframe1中的列创建组合的dataframe2

来自分类Dev

R数据表的唯一记录计数基于2列中给定值列表的所有组合

来自分类Dev

交叉连接/合并dataframe1以基于dataframe1中的列创建组合的dataframe2

来自分类Dev

如何基于Spark Scala中的列dtypes返回DataFrame列的子集

来自分类Dev

如何在Spark DataFrame中基于B列获取A列的5条记录

来自分类Dev

更新基于另一个列的Spark数据框中的列值

来自分类Dev

R中基于另一列的组合

来自分类Dev

如何基于Scala / Spark中的案例类更改数据框中列的数据类型

来自分类Dev

基于R中的另一列创建新列

来自分类Dev

如何基于熊猫中两列的时差创建新列?

来自分类Dev

基于多个列中的多个条件创建新列

来自分类Dev

Power BI:基于两列在“转换”中创建新列

来自分类Dev

基于主键从其他列中的数据创建新列

来自分类Dev

基于数据框中的两列创建新列

来自分类Dev

基于其他列在 Sql Server 中创建新列

来自分类Dev

如何基于现有列在 Python 中创建新列

来自分类Dev

如何在CakePHP中基于2列条件获取数据

来自分类Dev

如何在VBA中基于2列的条件删除行?

Related 相关文章

  1. 1

    如何基于组合 1 和多列在 Pandas DataFrame 中创建新列

  2. 2

    Spark聚合/分组依据,以便基于集合中的col值确定新列的值

  3. 3

    Spark:将 UDF 应用于 Dataframe 基于 DF 中的值生成新列

  4. 4

    基于pandas数据框中唯一性的2列值的编号组合

  5. 5

    基于 2 列组合条件在表中插入缺失值的 T-SQL 查询

  6. 6

    基于Spark中列值的动态regexp_extract

  7. 7

    基于Scala中的关键列合并Spark数据帧行

  8. 8

    如何基于多个列上多个条件的组合为数据框中的新列分配值

  9. 9

    基于数组的pandas df中的新列

  10. 10

    基于其他数据框中的列,在数据框中执行Spark Deduplicate列

  11. 11

    基于2列替换列匹配中的velue

  12. 12

    交叉联接/合并dataframe1以基于dataframe1中的列创建组合的dataframe2

  13. 13

    R数据表的唯一记录计数基于2列中给定值列表的所有组合

  14. 14

    交叉连接/合并dataframe1以基于dataframe1中的列创建组合的dataframe2

  15. 15

    如何基于Spark Scala中的列dtypes返回DataFrame列的子集

  16. 16

    如何在Spark DataFrame中基于B列获取A列的5条记录

  17. 17

    更新基于另一个列的Spark数据框中的列值

  18. 18

    R中基于另一列的组合

  19. 19

    如何基于Scala / Spark中的案例类更改数据框中列的数据类型

  20. 20

    基于R中的另一列创建新列

  21. 21

    如何基于熊猫中两列的时差创建新列?

  22. 22

    基于多个列中的多个条件创建新列

  23. 23

    Power BI:基于两列在“转换”中创建新列

  24. 24

    基于主键从其他列中的数据创建新列

  25. 25

    基于数据框中的两列创建新列

  26. 26

    基于其他列在 Sql Server 中创建新列

  27. 27

    如何基于现有列在 Python 中创建新列

  28. 28

    如何在CakePHP中基于2列条件获取数据

  29. 29

    如何在VBA中基于2列的条件删除行?

热门标签

归档