问题描述
假设我有一个这样的表,
A | B | C | D | E | F
x1 | 5 | 20200115 | 15 | 4.5 | 1
x1 | 10 | 20200825 | 15 | 5.6 | 19
x2 | 10 | 20200115 | 15 | 4.1 | 1
x2 | 10 | 20200430 | 15 | 9.1 | 1
我希望将这些行合并到col A
上,并生成这样的数据框
A | B | C | D | E | F
x1 | 15 | 20200825 | 15 | 5.6 | 19
x2 | 10 | 20200115 | 15 | 4.1 | 1
x2 | 10 | 20200430 | 15 | 9.1 | 1
基本上,如果A列中组的B列之和等于D列的值,则
- B列的新值将是B列的总和
- 将根据C列的最新值(YYYYmmDD中的日期)提取C,E,F列
由于对于X2组,上述条件不成立(即B列的总和大于20且D列的15等于15),所以我想将两个记录都保留在目标中
假设:在我的数据中,给定组的D列将是相同的(在本例中为15)
我看过很多分组和窗口化(partitioning)示例,但是在我看来这是不同的,因此我无法缩小范围。
我可以将分组数据通过管道传输到UDF并执行某些操作吗?
PS:在pyspark中构建它,如果您的示例可以在pyspark中,那就太好了
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)