Skip to content

Commit 85fdd63

Browse files
Automated commit of generated code
1 parent c91c415 commit 85fdd63

File tree

2 files changed

+25
-1
lines changed
  • core/generated-sources/src
    • main/kotlin/org/jetbrains/kotlinx/dataframe/api
    • test/kotlin/org/jetbrains/kotlinx/dataframe/api

2 files changed

+25
-1
lines changed

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import org.jetbrains.kotlinx.dataframe.Selector
1010
import org.jetbrains.kotlinx.dataframe.annotations.AccessApiOverload
1111
import org.jetbrains.kotlinx.dataframe.annotations.Interpretable
1212
import org.jetbrains.kotlinx.dataframe.annotations.Refine
13+
import org.jetbrains.kotlinx.dataframe.columns.ColumnGroup
1314
import org.jetbrains.kotlinx.dataframe.columns.ColumnReference
1415
import org.jetbrains.kotlinx.dataframe.columns.FrameColumn
1516
import org.jetbrains.kotlinx.dataframe.impl.columnName
@@ -25,7 +26,7 @@ import kotlin.reflect.typeOf
2526

2627
@Deprecated(DEPRECATED_ACCESS_API)
2728
@AccessApiOverload
28-
public inline fun <C, reified R> ColumnReference<C>.map(
29+
internal inline fun <C, reified R> ColumnReference<C>.map(
2930
infer: Infer = Infer.Nulls,
3031
noinline transform: (C) -> R,
3132
): ColumnReference<R> = createComputedColumnReference(name(), typeOf<R>(), infer) { transform(this@map()) }
@@ -69,6 +70,13 @@ public inline fun <T, R> DataColumn<T>.mapIndexed(
6970

7071
// region DataFrame
7172

73+
/**
74+
* Note: When this method is applied to a **[ColumnGroup]**,
75+
* its behavior differs from [DataColumn.map].
76+
* To apply `map` as if on a regular [DataColumn] (i.e., a column of [DataRow]s
77+
* whose values correspond to values in columns of the group),
78+
* call [ColumnGroup.asDataColumn] first.
79+
*/
7280
public inline fun <T, R> DataFrame<T>.map(transform: RowExpression<T, R>): List<R> = rows().map { transform(it, it) }
7381

7482
public inline fun <T, reified R> DataFrame<T>.mapToColumn(

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/api/map.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.jetbrains.kotlinx.dataframe.api
22

33
import io.kotest.matchers.shouldBe
4+
import org.jetbrains.kotlinx.dataframe.DataColumn
45
import org.junit.Test
56

67
class MapTests {
@@ -18,4 +19,19 @@ class MapTests {
1819
}
1920
df["b"][1] shouldBe 5
2021
}
22+
23+
@Test
24+
fun `ColumnGroup map`() {
25+
val group = dataFrameOf("x", "y")(1, 10, 2, 20, 3, 30).asColumnGroup("g")
26+
val sums = group.asDataFrame().map { row -> row["x"] as Int + row["y"] as Int }
27+
sums shouldBe listOf(11, 22, 33)
28+
}
29+
30+
@Test
31+
fun `ColumnGroup asDataColumn map`() {
32+
val group = dataFrameOf("x", "y")(1, 10, 2, 20, 3, 30).asColumnGroup("g")
33+
val col: DataColumn<Int> = group.asDataColumn().map { it["x"] as Int + it["y"] as Int }
34+
col.name() shouldBe "g"
35+
col.toList() shouldBe listOf(11, 22, 33)
36+
}
2137
}

0 commit comments

Comments
 (0)