Skip to content

Commit adda7b0

Browse files
Automated commit of generated code
1 parent eda4e6e commit adda7b0

File tree

2 files changed

+15
-0
lines changed
  • core/generated-sources/src

2 files changed

+15
-0
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/typeConversions.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
2020
import org.jetbrains.kotlinx.dataframe.columns.FrameColumn
2121
import org.jetbrains.kotlinx.dataframe.columns.SingleColumn
2222
import org.jetbrains.kotlinx.dataframe.columns.ValueColumn
23+
import org.jetbrains.kotlinx.dataframe.impl.DataRowImpl
2324
import org.jetbrains.kotlinx.dataframe.impl.GroupByImpl
2425
import org.jetbrains.kotlinx.dataframe.impl.anyNull
2526
import org.jetbrains.kotlinx.dataframe.impl.asList
@@ -435,6 +436,11 @@ public fun <T> DataRow<T>.toDataFrame(): DataFrame<T> = owner[index..index]
435436

436437
public fun AnyRow.toMap(): Map<String, Any?> = df().columns().associate { it.name() to it[index] }
437438

439+
public fun Map<String, Any?>.toDataRow(): DataRow<*> {
440+
val df = mapValues { listOf(it.value) }.toDataFrame()
441+
return DataRowImpl(0, df)
442+
}
443+
438444
// endregion
439445

440446
// region Array

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataRowTests.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import org.jetbrains.kotlinx.dataframe.api.relative
2121
import org.jetbrains.kotlinx.dataframe.api.rowMean
2222
import org.jetbrains.kotlinx.dataframe.api.rowStd
2323
import org.jetbrains.kotlinx.dataframe.api.rowSum
24+
import org.jetbrains.kotlinx.dataframe.api.toDataRow
2425
import org.jetbrains.kotlinx.dataframe.api.toDouble
2526
import org.jetbrains.kotlinx.dataframe.api.transposeTo
2627
import org.jetbrains.kotlinx.dataframe.api.update
@@ -118,4 +119,12 @@ class DataRowTests : BaseTest() {
118119
typed[1].relative(-2..2) shouldBe typed[0..3]
119120
typed[1].relative(listOf(2, -1, -3, 0)) shouldBe typed[3, 0, 1]
120121
}
122+
123+
@Test
124+
fun toDataRow() {
125+
val map = mapOf<String, Any?>("a" to 1, "b" to true)
126+
val row = map.toDataRow()
127+
row["a"] shouldBe 1
128+
row["b"] shouldBe true
129+
}
121130
}

0 commit comments

Comments
 (0)