init research

This commit is contained in:
2026-02-08 11:20:43 -10:00
commit bdf064f54d
3041 changed files with 1592200 additions and 0 deletions
@@ -0,0 +1,56 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name and age },
df.select { allBefore { city } },
df.select { allBefore(city) },
)
compareSchemas(
df.select { name and age },
df.select { allUpTo { age } },
df.select { allUpTo(age) },
)
compareSchemas(
df.select { weight and isHappy },
df.select { allAfter { city } },
df.select { allAfter(city) },
)
compareSchemas(
df.select { weight and isHappy },
df.select { allFrom { weight } },
df.select { allFrom(weight) },
)
compareSchemas(
df.select { name and age and city and weight and isHappy },
df.select { all() }
)
compareSchemas(
df.select { name.firstName and name.lastName },
df.select { name.allCols() },
df.select { name.allCols().all() },
)
compareSchemas(
df.select { weight and isHappy },
df.select { all().allAfter(city) },
// df.select { all().allAfter { city } },
)
compareSchemas(
df.select { age },
df.select { colsOf<Int?>().allBefore(weight) },
df.select { allBefore(weight).colsOf<Int?>() },
)
return "OK"
}
@@ -0,0 +1,18 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name },
df.select { colGroups() },
df.select { nameContains("e").colGroups() },
)
compareSchemas(
dfGroup.select { name.firstName },
dfGroup.select { name.colsNameContains("Name").colGroups() },
)
return "OK"
}
@@ -0,0 +1,13 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { cols(name, age, city, weight, isHappy) },
df.select { all() },
)
return "OK"
}
@@ -0,0 +1,20 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
val df1 = df.select { name }
compareSchemas(
df1.select { name.firstName and name.lastName },
df1.select { name.colsAtAnyDepth() },
)
compareSchemas(
df1.select { name and name.firstName and name.lastName },
df1.select { colsAtAnyDepth() },
df1.select { nameStartsWith("name").colsAtAnyDepth() },
)
return "OK"
}
@@ -0,0 +1,29 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { city },
df.select { colsOf<String?>() },
df.select { all().colsOf<String?>() },
)
compareSchemas(
df.select { name.firstName and name.lastName },
df.select { name.colsOf<String>() },
)
compareSchemas(
df.select { name },
df.select { colsOf<AnyRow>() }
)
val df1 = dataFrameOf("nestedDf")(dataFrameOf("a", "b")(1, 2))
compareSchemas(
df1.select { nestedDf },
df1.select { colsOf<AnyFrame>() }
)
return "OK"
}
@@ -0,0 +1,39 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { age },
df.select { nameContains("age") },
df.select { nameContains("AGE", ignoreCase = true) },
df.select { all().nameContains("age") },
)
compareSchemas(
df.select { name.firstName },
df.select { name.colsNameContains("first") },
df.select { name.colsNameContains("FIRST", ignoreCase = true) },
)
compareSchemas(
df.select { age },
df.select { nameStartsWith("age") },
df.select { nameStartsWith("AGE", ignoreCase = true) },
df.select { all().nameStartsWith("age") },
)
compareSchemas(
df.select { name.firstName },
df.select { name.colsNameStartsWith("first") },
df.select { name.colsNameStartsWith("FIRST", ignoreCase = true) },
)
compareSchemas(
df.select { name.firstName and name.lastName },
df.select { name.colsNameEndsWith("Name") },
df.select { name.colsNameEndsWith("NAME", ignoreCase = true) },
)
return "OK"
}
@@ -0,0 +1,17 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { age and city and weight },
df.select { age..weight },
)
compareSchemas(
df.select { name.firstName and name.lastName },
df.select { name.firstName..name.lastName }
)
return "OK"
}
@@ -0,0 +1,27 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name.lastName },
df.select { name.dropCols(1) },
)
compareSchemas(
df.select { name.firstName },
df.select { name.dropLastCols(1) },
)
compareSchemas(
df.select { weight and isHappy },
df.select { drop(3) },
)
compareSchemas(
df.select { name and age },
df.select { dropLast(3) },
)
return "OK"
}
@@ -0,0 +1,18 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name },
df.select { first() },
df.select { nameStartsWith("name").first() },
)
compareSchemas(
df.select { name.firstName },
df.select { name.firstCol() },
)
return "OK"
}
@@ -0,0 +1,21 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
val df1 = dataFrameOf("a", "b", "frameCol")(1, 2, dataFrameOf("e", "f")(3, 4))
compareSchemas(
df1.select { frameCol },
df1.select { frameCols() },
df1.select { nameContains("a").frameCols() },
)
val into = df1.group { a and frameCol }.into("c")
compareSchemas(
into.select { c.frameCol },
into.select { c.frameCols() },
)
return "OK"
}
@@ -0,0 +1,18 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { isHappy },
df.select { last() },
df.select { nameStartsWith("is").last() },
)
compareSchemas(
df.select { name.lastName },
df.select { name.lastCol() },
)
return "OK"
}
@@ -0,0 +1,16 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
val df1 = df.select { expr { age } into "age2" }
val i1: Int = df1.age2[0]
val df2 = dataFrameOf("lists")(listOf(1, 2), listOf(3)).explode { lists into "int" }
val i2: Int = df2.int[0]
df.select { age named "age2" }.compareSchemas(strict = true)
return "OK"
}
@@ -0,0 +1,15 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
val df = dataFrameOf(
"a" to listOf(1),
"b" to listOf(1),
).group { a and b }.into("gr")
val res = df.select { gr.select { a and b } }
res.a
res.b
return "OK"
}
@@ -0,0 +1,18 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name },
df.select { name }.select { single() },
df.select { nameStartsWith("name").single() },
)
compareSchemas(
df.select { name.firstName },
df.remove { name.lastName }.select { name.singleCol() },
)
return "OK"
}
@@ -0,0 +1,29 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name.firstName },
df.select { name.takeCols(1) },
)
compareSchemas(
df.select { name.lastName },
df.select { name.takeLastCols(1) },
)
compareSchemas(
df.select { name and age and city },
df.select { take(3) },
df.select { all().take(3) },
)
compareSchemas(
df.select { city and weight and isHappy },
df.select { all().takeLast(3) },
df.select { takeLast(3) },
)
return "OK"
}
@@ -0,0 +1,24 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { age and city and weight and isHappy },
df.select { all().valueCols() },
df.select { valueCols() },
)
compareSchemas(
df.select { name.firstName and name.lastName },
df.select { name.valueCols() },
)
compareSchemas(
df.select { age and weight },
df.select { nameContains("e").valueCols() },
)
return "OK"
}
@@ -0,0 +1,19 @@
import org.jetbrains.kotlinx.dataframe.*
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.api.*
import org.jetbrains.kotlinx.dataframe.io.*
fun box(): String {
compareSchemas(
df.select { name and age and isHappy },
df.select { withoutNulls() },
df.select { all().withoutNulls() },
)
compareSchemas(
dfGroup.select { name.firstName.firstName },
dfGroup.select { name.firstName.colsWithoutNulls() },
)
return "OK"
}