Skip to content

Commit 7e6825d

Browse files
committed
Add toDataFrame(columnName) overload
1 parent 6b892d1 commit 7e6825d

File tree

9 files changed

+535
-0
lines changed

9 files changed

+535
-0
lines changed

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/toDataFrame.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ public abstract class CreateDataFrameDsl<T> : TraversePropertiesDsl {
202202
public abstract operator fun String.invoke(builder: CreateDataFrameDsl<T>.() -> Unit)
203203
}
204204

205+
@Refine
206+
@Interpretable("ToDataFrameColumn")
207+
public inline fun <reified T> Iterable<T>.toDataFrame(columnName: String): DataFrame<*> =
208+
toDataFrame {
209+
columnName from { it }
210+
}
211+
205212
// endregion
206213

207214
// region toDataFrame overloads for built-in types
@@ -304,6 +311,8 @@ public interface ValueProperty<T> {
304311
public val value: T
305312
}
306313

314+
// endregion
315+
307316
// region Create DataFrame from Map
308317

309318
public fun Map<String, Iterable<Any?>>.toDataFrame(): AnyFrame =

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/api/toDataFrame.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.jetbrains.kotlinx.dataframe.kind
1111
import org.jetbrains.kotlinx.dataframe.type
1212
import org.junit.Ignore
1313
import org.junit.Test
14+
import java.io.File
1415
import kotlin.reflect.KProperty
1516
import kotlin.reflect.typeOf
1617

@@ -452,4 +453,11 @@ class CreateDataFrameTests {
452453
df.participants[0].city
453454
}
454455
}
456+
457+
@Test
458+
fun toDataFrameColumn() {
459+
val files = listOf(File("data.csv"))
460+
val df = files.toDataFrame(columnName = "files")
461+
df["files"][0] shouldBe File("data.csv")
462+
}
455463
}

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Create.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import org.jetbrains.kotlinx.dataframe.explainer.TransformDataFrameExpressions
3131
import org.jetbrains.kotlinx.dataframe.kind
3232
import org.jetbrains.kotlinx.dataframe.type
3333
import org.junit.Test
34+
import java.io.File
3435
import kotlin.reflect.typeOf
3536

3637
class Create : TestBase() {
@@ -456,4 +457,13 @@ class Create : TestBase() {
456457
peek(dataFrameOf(col), dataFrameOf(col))
457458
// SampleEnd
458459
}
460+
461+
@Test
462+
@TransformDataFrameExpressions
463+
fun toDataFrameColumn() {
464+
// SampleStart
465+
val files = listOf(File("data.csv"), File("data1.csv"))
466+
val df = files.toDataFrame(columnName = "data")
467+
// SampleEnd
468+
}
459469
}

0 commit comments

Comments
 (0)