我有一个DataFrame,我想计算这个数据框中的两列的唯一行。例如:DataFrame,计算唯一值,Java
a x
a x
a y
b y
b y
b y
应该是:
a x 2
a y 1
b y 3
我知道在大熊猫数据帧此操作的解决方案,但现在我想这样做在Java中直接(最好的办法就是Java 8) 。
我有一个DataFrame,我想计算这个数据框中的两列的唯一行。例如:DataFrame,计算唯一值,Java
a x
a x
a y
b y
b y
b y
应该是:
a x 2
a y 1
b y 3
我知道在大熊猫数据帧此操作的解决方案,但现在我想这样做在Java中直接(最好的办法就是Java 8) 。
我自己找到了下一个解决方案。在这里复制,如果有人有兴趣....
DataFrame df2 = df.groupBy("Column_one", "Column_two").count();
df2.show();
我不知道什么样的输入类型,你有,但假设你有一个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;
我有输入类型DataFrame和列的类型是字符串。 – Guforu
与Java 8的关系在哪里? – Holger
如果您在Java 8中拥有较短的解决方案,那么欢迎您。 – Guforu