27 lines
843 B
Kotlin
Vendored
27 lines
843 B
Kotlin
Vendored
import org.jetbrains.kotlinx.dataframe.*
|
|
import org.jetbrains.kotlinx.dataframe.annotations.*
|
|
import org.jetbrains.kotlinx.dataframe.api.*
|
|
import org.jetbrains.kotlinx.dataframe.api.toDataFrame
|
|
import org.jetbrains.kotlinx.dataframe.io.*
|
|
|
|
data class Name(val firstName: String, val lastName: String)
|
|
|
|
data class Score(val subject: String, val value: Int)
|
|
|
|
data class Student(val name: Name, val age: Int, val scores: List<Score>)
|
|
|
|
fun box(): String {
|
|
val students = listOf(
|
|
Student(Name("Alice", "Cooper"), 15, listOf(Score("math", 4), Score("biology", 3))),
|
|
Student(Name("Bob", "Marley"), 20, listOf(Score("music", 5))),
|
|
)
|
|
|
|
val df = students.toDataFrame().groupBy { expr { name.firstName} }
|
|
.aggregate {
|
|
remove { age } into "a"
|
|
}
|
|
|
|
df.compareSchemas(strict = true)
|
|
return "OK"
|
|
}
|