diff --git a/core/api/core.api b/core/api/core.api index c91c04bde2..27636f5f29 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -1939,17 +1939,6 @@ public final class org/jetbrains/kotlinx/dataframe/api/DescribeKt { public static final fun describe (Lorg/jetbrains/kotlinx/dataframe/DataFrame;[Lorg/jetbrains/kotlinx/dataframe/columns/ColumnReference;)Lorg/jetbrains/kotlinx/dataframe/DataFrame; } -public final class org/jetbrains/kotlinx/dataframe/api/DigitizeKt { - public static final fun digitize (Lorg/jetbrains/kotlinx/dataframe/DataColumn;Ljava/util/List;Lkotlin/reflect/KClass;Z)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static final fun digitize (Lorg/jetbrains/kotlinx/dataframe/DataColumn;Ljava/util/List;Z)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static final fun digitize (Lorg/jetbrains/kotlinx/dataframe/DataColumn;[IZ)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static final fun digitize (Lorg/jetbrains/kotlinx/dataframe/DataColumn;[Ljava/lang/Comparable;Z)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static synthetic fun digitize$default (Lorg/jetbrains/kotlinx/dataframe/DataColumn;Ljava/util/List;Lkotlin/reflect/KClass;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static synthetic fun digitize$default (Lorg/jetbrains/kotlinx/dataframe/DataColumn;Ljava/util/List;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static synthetic fun digitize$default (Lorg/jetbrains/kotlinx/dataframe/DataColumn;[IZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataColumn; - public static synthetic fun digitize$default (Lorg/jetbrains/kotlinx/dataframe/DataColumn;[Ljava/lang/Comparable;ZILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/DataColumn; -} - public abstract interface class org/jetbrains/kotlinx/dataframe/api/DistinctColumnsSelectionDsl { public fun distinct (Lorg/jetbrains/kotlinx/dataframe/columns/ColumnSet;)Lorg/jetbrains/kotlinx/dataframe/columns/ColumnSet; } diff --git a/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/digitize.kt b/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/digitize.kt deleted file mode 100644 index da118b3230..0000000000 --- a/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/digitize.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.jetbrains.kotlinx.dataframe.api - -import org.jetbrains.kotlinx.dataframe.DataColumn -import kotlin.reflect.KClass - -// region DataColumn - -public fun DataColumn.digitize(vararg bins: Int, right: Boolean = false): DataColumn = - digitize(bins.toList(), Double::class, right) - -public fun > DataColumn.digitize(vararg bins: T, right: Boolean = false): DataColumn = - digitize(bins.toList(), right) - -public fun > DataColumn.digitize( - bins: List, - kclass: KClass, - right: Boolean = false, -): DataColumn = - digitize( - bins = bins.toList().map { org.jetbrains.kotlinx.dataframe.impl.convert(it, kclass) }, - right = right, - ) - -public fun > DataColumn.digitize(bins: List, right: Boolean = false): DataColumn { - // TODO: use binary search - // TODO: support descending order of bins - val predicate: (T, T) -> Boolean = if (right) { value, bin -> value <= bin } else { value, bin -> value < bin } - - return map { value -> - val index = bins.indexOfFirst { predicate(value, it) } - if (index == -1) { - bins.size - } else { - index - } - } -} - -// endregion diff --git a/core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTests.kt b/core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTests.kt index da3d7c11aa..697d7f1634 100644 --- a/core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTests.kt +++ b/core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/testSets/person/DataFrameTests.kt @@ -48,7 +48,6 @@ import org.jetbrains.kotlinx.dataframe.api.countDistinct import org.jetbrains.kotlinx.dataframe.api.dataFrameOf import org.jetbrains.kotlinx.dataframe.api.default import org.jetbrains.kotlinx.dataframe.api.describe -import org.jetbrains.kotlinx.dataframe.api.digitize import org.jetbrains.kotlinx.dataframe.api.distinct import org.jetbrains.kotlinx.dataframe.api.distinctBy import org.jetbrains.kotlinx.dataframe.api.div @@ -1533,29 +1532,6 @@ class DataFrameTests : BaseTest() { parsed shouldBe typed } - @Test - fun digitize() { - val a = 20 - val b = 40 - val expected = typed.age.toList().map { - when { - it < a -> 0 - it < b -> 1 - else -> 2 - } - } - typed.age.digitize(a, b).toList() shouldBe expected - - val expectedRight = typed.age.toList().map { - when { - it <= a -> 0 - it <= b -> 1 - else -> 2 - } - } - typed.age.digitize(a, b, right = true).toList() shouldBe expectedRight - } - @Test fun corr() { val fixed = typed.fillNulls { weight }.with { 60 }