“列”中包含值
C1 C2
1 1235
1 4578
1 4177
2 1427
2 1427
2 1427
2 [{"label":"2 Bed, 1 Bathroom"Woodland Tow]
如果我使用下面的代码
DataFrame df1=df.groupBy("C1").agg(functions.max("C2");
输出给出
C1 C2
1 4578
2 [{"label":"2 Bed, 1 Bathroom"Woodland Tow]
但是我需要
C1 C2
1 4578
2 1427
答案 0 :(得分:0)
我不是专家,因此更多常识性指导:
DataFrame df1=df.groupBy("C1").agg(functions.max("C2");
显然会调用某个functions.max()
实用程序,该实用程序在该列中查找最大值。并且max()
为您的字符串值计算出错误的结果。
结论:您可能必须使用其他方法来计算该最大值。我想天真的方法是定义specialMax()
:
然后使用该specialMax()
方法时,您应该获得所需的最大数量。