Skip to content

Commit c5462fe

Browse files
committed
Remove forEachColumn and forEachColumnIndexed. Rename forEachRow into forEach.
1 parent b277a83 commit c5462fe

File tree

8 files changed

+18
-34
lines changed

8 files changed

+18
-34
lines changed

docs/StardustDocs/topics/iterate.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ for (row in df) {
1313
println(row.age)
1414
}
1515

16-
df.forEachRow {
16+
df.forEach {
1717
println(it.age)
1818
}
1919

@@ -32,7 +32,7 @@ for (row in df) {
3232
println(row[age])
3333
}
3434

35-
df.forEachRow {
35+
df.forEach {
3636
println(it[age])
3737
}
3838

@@ -49,7 +49,7 @@ for (row in df) {
4949
println(row["age"])
5050
}
5151

52-
df.forEachRow {
52+
df.forEach {
5353
println(it["age"])
5454
}
5555

@@ -66,10 +66,6 @@ Iterate over columns:
6666
<!---FUN forColumn-->
6767

6868
```kotlin
69-
df.forEachColumn {
70-
println(it.name())
71-
}
72-
7369
df.columns().forEach {
7470
println(it.name())
7571
}

src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt

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

3-
import org.jetbrains.kotlinx.dataframe.AnyCol
43
import org.jetbrains.kotlinx.dataframe.DataColumn
54
import org.jetbrains.kotlinx.dataframe.DataFrame
65
import org.jetbrains.kotlinx.dataframe.DataRow
@@ -17,12 +16,7 @@ public fun <T> DataColumn<T>.forEachIndexed(action: (Int, T) -> Unit): Unit = va
1716

1817
// region DataFrame
1918

20-
public fun <T> DataFrame<T>.forEachRow(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
21-
22-
public fun <T> DataFrame<T>.forEachColumn(action: (AnyCol) -> Unit): Unit = columns().forEach(action)
23-
24-
public fun <T> DataFrame<T>.forEachColumnIndexed(action: (Int, AnyCol) -> Unit): Unit =
25-
columns().forEachIndexed(action)
19+
public fun <T> DataFrame<T>.forEach(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
2620

2721
// endregion
2822

@@ -34,7 +28,7 @@ public fun <T, G> GroupBy<T, G>.forEach(body: (GroupBy.Entry<T, G>) -> Unit): Un
3428
)
3529
}
3630
public fun <T, G> GroupBy<T, G>.forEach(body: (key: DataRow<T>, group: DataFrame<G>?) -> Unit): Unit =
37-
keys.forEachRow { row ->
31+
keys.forEach { row ->
3832
val group = groups[row.index()]
3933
body(row, group)
4034
}

src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/csv.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ public fun AnyFrame.writeCSV(
331331
) {
332332
format.print(writer).use { printer ->
333333
printer.printRecord(columnNames())
334-
forEachRow {
334+
forEach {
335335
val values = it.values.map {
336336
when (it) {
337337
is AnyRow -> it.toJson()

src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/xlsx.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import org.jetbrains.kotlinx.dataframe.ColumnsSelector
1919
import org.jetbrains.kotlinx.dataframe.DataColumn
2020
import org.jetbrains.kotlinx.dataframe.DataFrame
2121
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
22-
import org.jetbrains.kotlinx.dataframe.api.forEachRow
22+
import org.jetbrains.kotlinx.dataframe.api.forEach
2323
import org.jetbrains.kotlinx.dataframe.api.select
2424
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
2525
import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadExcelMethod
@@ -189,7 +189,7 @@ public fun <T> DataFrame<T>.writeExcel(
189189
i++
190190
}
191191

192-
columns.forEachRow {
192+
columns.forEach {
193193
val row = sheet.createRow(i)
194194
it.values().forEachIndexed { index, any ->
195195
// In file created by LibreOffice Calc (empty_cell.xls)

src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTests.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ import org.jetbrains.kotlinx.dataframe.api.fillNulls
5757
import org.jetbrains.kotlinx.dataframe.api.filter
5858
import org.jetbrains.kotlinx.dataframe.api.first
5959
import org.jetbrains.kotlinx.dataframe.api.forEach
60-
import org.jetbrains.kotlinx.dataframe.api.forEachColumn
6160
import org.jetbrains.kotlinx.dataframe.api.forEachIndexed
6261
import org.jetbrains.kotlinx.dataframe.api.frameColumn
6362
import org.jetbrains.kotlinx.dataframe.api.gather
@@ -2040,7 +2039,7 @@ class DataFrameTests : BaseTest() {
20402039
@Test
20412040
fun `pivot grouped max`() {
20422041
val pivoted = typed.pivot { name }.groupBy { city }.max()
2043-
pivoted.getColumnGroup("name").forEachColumn {
2042+
pivoted.getColumnGroup("name").columns().forEach {
20442043
it.kind() shouldBe ColumnKind.Group
20452044
val group = it.asColumnGroup()
20462045
group.columnNames() shouldBe listOf("age", "weight")

tests/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Access.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ class Access : TestBase() {
509509
@Test
510510
fun iterableApi() {
511511
// SampleStart
512-
df.forEachRow { println(it) }
512+
df.forEach { println(it) }
513513
df.take(5)
514514
df.drop(2)
515515
df.chunked(10)
@@ -815,7 +815,7 @@ class Access : TestBase() {
815815
println(row.age)
816816
}
817817

818-
df.forEachRow {
818+
df.forEach {
819819
println(it.age)
820820
}
821821

@@ -834,7 +834,7 @@ class Access : TestBase() {
834834
println(row[age])
835835
}
836836

837-
df.forEachRow {
837+
df.forEach {
838838
println(it[age])
839839
}
840840

@@ -851,7 +851,7 @@ class Access : TestBase() {
851851
println(row["age"])
852852
}
853853

854-
df.forEachRow {
854+
df.forEach {
855855
println(it["age"])
856856
}
857857

@@ -864,10 +864,6 @@ class Access : TestBase() {
864864
@Test
865865
fun forColumn() {
866866
// SampleStart
867-
df.forEachColumn {
868-
println(it.name())
869-
}
870-
871867
df.columns().forEach {
872868
println(it.name())
873869
}

tests/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTreeTests.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import org.jetbrains.kotlinx.dataframe.api.explode
4040
import org.jetbrains.kotlinx.dataframe.api.expr
4141
import org.jetbrains.kotlinx.dataframe.api.filter
4242
import org.jetbrains.kotlinx.dataframe.api.forEach
43-
import org.jetbrains.kotlinx.dataframe.api.forEachRow
43+
import org.jetbrains.kotlinx.dataframe.api.forEach
4444
import org.jetbrains.kotlinx.dataframe.api.frameColumn
4545
import org.jetbrains.kotlinx.dataframe.api.getColumnGroup
4646
import org.jetbrains.kotlinx.dataframe.api.getColumnPath
@@ -138,7 +138,7 @@ class DataFrameTreeTests : BaseTest() {
138138
val groups by id.map { typed[it..it] }
139139
val df = dataFrameOf(id, groups)
140140
df.rowsCount() shouldBe typed.rowsCount()
141-
df.forEachRow {
141+
df.forEach {
142142
val rowId = it[id]
143143
groups() shouldBe typed[rowId..rowId]
144144
}
@@ -572,7 +572,7 @@ class DataFrameTreeTests : BaseTest() {
572572
joined.select { cols(0, 1) } shouldBe left.toDataFrame()
573573
joined.select { cols(2, 1) }.rename(name1).into(typed.name) shouldBe right.toDataFrame()
574574
joined.name shouldBe left.keys.name
575-
joined.forEachRow { it[name1] shouldBe it.name.reversed() }
575+
joined.forEach { it[name1] shouldBe it.name.reversed() }
576576
}
577577

578578
@Test

tests/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/PivotTests.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import org.jetbrains.kotlinx.dataframe.api.explodeLists
2121
import org.jetbrains.kotlinx.dataframe.api.expr
2222
import org.jetbrains.kotlinx.dataframe.api.filter
2323
import org.jetbrains.kotlinx.dataframe.api.first
24-
import org.jetbrains.kotlinx.dataframe.api.forEachColumn
2524
import org.jetbrains.kotlinx.dataframe.api.frames
2625
import org.jetbrains.kotlinx.dataframe.api.gather
2726
import org.jetbrains.kotlinx.dataframe.api.getColumnGroup
@@ -437,7 +436,7 @@ class PivotTests {
437436
value.last() into "last value"
438437
"unused"
439438
}
440-
pivoted.getColumnGroup("key").forEachColumn {
439+
pivoted.getColumnGroup("key").columns().forEach {
441440
it.kind() shouldBe ColumnKind.Group
442441
it.asColumnGroup().columnNames() shouldBe listOf("first value", "last value")
443442
}
@@ -451,7 +450,7 @@ class PivotTests {
451450
typed.add(type) { value?.javaClass?.kotlin ?: Unit::class }
452451
.pivot { key }.groupBy { name }.values { value and (type default Any::class) into "data" }
453452

454-
pivoted.getColumnGroup("key").forEachColumn {
453+
pivoted.getColumnGroup("key").columns().forEach {
455454
val group = it.asColumnGroup()
456455
group.columnNames() shouldBe listOf("data")
457456
group["data"].asColumnGroup().columnNames() shouldBe listOf("value", "type")

0 commit comments

Comments
 (0)