我有一個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