使用Scala,我如何将dataFrame拆分为具有相同列值的多个dataFrame(无论是数组还是集合).例如,我想拆分以下DataFrame:
ID Rate State
1 24 AL
2 35 MN
3 46 FL
4 34 AL
5 78 MN
6 99 FL
Run Code Online (Sandbox Code Playgroud)
至:
数据集1
ID Rate State
1 24 AL
4 34 AL
Run Code Online (Sandbox Code Playgroud)
数据集2
ID Rate State
2 35 MN
5 78 MN
Run Code Online (Sandbox Code Playgroud)
数据集3
ID Rate State
3 46 FL
6 99 FL
Run Code Online (Sandbox Code Playgroud) 我有一个生成的DataFrame,如下所示:
df.groupBy($"Hour", $"Category")
.agg(sum($"value").alias("TotalValue"))
.sort($"Hour".asc,$"TotalValue".desc))
Run Code Online (Sandbox Code Playgroud)
结果如下:
+----+--------+----------+
|Hour|Category|TotalValue|
+----+--------+----------+
| 0| cat26| 30.9|
| 0| cat13| 22.1|
| 0| cat95| 19.6|
| 0| cat105| 1.3|
| 1| cat67| 28.5|
| 1| cat4| 26.8|
| 1| cat13| 12.6|
| 1| cat23| 5.3|
| 2| cat56| 39.6|
| 2| cat40| 29.7|
| 2| cat187| 27.9|
| 2| cat68| 9.8|
| 3| cat8| 35.6|
| ...| ....| ....|
+----+--------+----------+
Run Code Online (Sandbox Code Playgroud)
我想根据每个独特的价值作出新的dataframes col("Hour"),即
因此,所需的输出将是:
df0 as:
+----+--------+----------+
|Hour|Category|TotalValue| …Run Code Online (Sandbox Code Playgroud)