我有DataFrame,我想计算此数据框中两列的uniqe行。例如:
a x
a x
a y
b y
b y
b y
应该是:
a x 2
a y 1
b y 3
我在pandas DataFrame中知道这个操作的解决方案,但现在我想用Java直接做(最好的方法是Java 8)。
答案 0 :(得分:3)
我不确定您的输入类型是什么,但假设您有List<DataFrame> list
和DataFrame
按预期实现等于/ hashcode,您可以使用两个收集器的组合:
Map<DataFrame, Long> count = list.stream().collect(groupingBy(x -> x, counting()));
需要以下静态导入:
import static java.util.stream.Collectors.counting;
import static java.util.stream.Collectors.groupingBy;
答案 1 :(得分:0)
我自己找到了下一个解决方案。复制到这里,如果有人有兴趣......
DataFrame df2 = df.groupBy("Column_one", "Column_two").count();
df2.show();