| package org.jetbrains.kotlinx.dataframe.annotations | |
| import org.jetbrains.kotlinx.dataframe.* | |
| import org.jetbrains.kotlinx.dataframe.annotations.* | |
| import org.jetbrains.kotlinx.dataframe.api.* | |
| import org.jetbrains.kotlinx.dataframe.io.* | |
| import org.jetbrains.kotlinx.dataframe.columns.toColumnSet | |
| annotation class StringApiInterpretable(val interpreter: String, val stringArgument: String, val targetArgument: String = "") | |
| @Refine | |
| @StringApiInterpretable(interpreter = "Flatten0", stringArgument = "columns", targetArgument = "columns") | |
| public fun <T> DataFrame<T>.myFlatten( | |
| vararg columns: String, | |
| keepParentNameForColumns: Boolean = false, | |
| separator: String = "_", | |
| ): DataFrame<T> = @DisableInterpretation flatten(keepParentNameForColumns, separator) { columns.toColumnSet() } | |
| fun box(): String { | |
| val res = dataFrameOf( | |
| "a" to columnOf( | |
| "b" to columnOf("str") | |
| ) | |
| ).myFlatten("a") | |
| val v: String = res.b[0] | |
| return "OK" | |
| } |