1

我有一个DataFrame,我想计算这个 DataFrame 中两列的唯一行。例如:

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)。

4

2 回答 2

3

我不确定你有什么输入类型,但假设你有一个List<DataFrame> list并按DataFrame预期实现等于/哈希码,你可以使用两个收集器的组合:

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;
于 2015-09-18T11:25:46.407 回答
0

我自己找到了下一个解决方案。复制到这里,如果有人有兴趣......

DataFrame df2 = df.groupBy("Column_one", "Column_two").count();
df2.show();
于 2015-09-18T12:11:04.133 回答