Например, если у меня есть следующий фрейм данных
val tempDF=Seq(("a",2),("b",1),("a",3)).toDF("letter","value")
scala> tempDF.show()
+------+-----+
|letter|value|
+------+-----+
| a| 2|
| b| 1|
| a| 3|
+------+-----+
и я хочу выполнить операцию groupBy
над столбцом letter
, но зная, что может быть другая буква c
, отсутствуетв столбце letter
.Обычно у меня было бы
tempDF.groupBy("letter").sum()
scala> tempDF.groupBy("letter").sum().show()
+------+----------+
|letter|sum(value)|
+------+----------+
| a| 5|
| b| 1|
+------+----------+
, но я хотел бы что-то вроде этого:
+------+----------+
|letter|sum(value)|
+------+----------+
| a| 5|
| b| 1|
| c| 0|
+------+----------+
Возможно ли это сделать без добавления буквы c
в кадр данных?Я имею в виду, что у меня может быть много информационных фреймов в списке, но я не знаю, какие буквы пропущены (если есть) для каждого фрейма данных, вместо этого я знаю весь список букв, которые должны появляться для каждого.