Skip to content

Commit 348b84b

Browse files
committed
added overloads for binary compatibility with added skipNaN argument. Fixed puzzles notebook
1 parent 6c67050 commit 348b84b

File tree

8 files changed

+1503
-148
lines changed

8 files changed

+1503
-148
lines changed

core/api/core.api

Lines changed: 219 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 352 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import org.jetbrains.kotlinx.dataframe.impl.aggregation.modes.aggregateOfRow
2121
import org.jetbrains.kotlinx.dataframe.impl.aggregation.primitiveOrMixedNumberColumns
2222
import org.jetbrains.kotlinx.dataframe.impl.columns.toNumberColumns
2323
import org.jetbrains.kotlinx.dataframe.impl.isPrimitiveOrMixedNumber
24+
import org.jetbrains.kotlinx.dataframe.util.MEAN_NO_SKIPNAN
2425
import kotlin.reflect.KProperty
2526
import kotlin.reflect.typeOf
2627

@@ -276,3 +277,199 @@ public inline fun <T, reified R : Number> PivotGroupBy<T>.meanOf(
276277
): DataFrame<T> = Aggregators.mean(skipNaN).aggregateOf(this, expression)
277278

278279
// endregion
280+
281+
// region binary compatibility
282+
283+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
284+
public fun DataColumn<Number?>.mean(): Double = mean(skipNaN = skipNaN_default)
285+
286+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
287+
public inline fun <T, reified R : Number> DataColumn<T>.meanOf(crossinline expression: (T) -> R?): Double =
288+
meanOf(skipNaN = skipNaN_default, expression = expression)
289+
290+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
291+
public fun AnyRow.rowMean(): Double = rowMean(skipNaN = skipNaN_default)
292+
293+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
294+
public inline fun <reified T : Number?> AnyRow.rowMeanOf(): Double = rowMeanOf<T>(skipNaN = skipNaN_default)
295+
296+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
297+
public fun <T> DataFrame<T>.mean(): DataRow<T> = mean(skipNaN = skipNaN_default)
298+
299+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
300+
public fun <T, C : Number> DataFrame<T>.meanFor(columns: ColumnsForAggregateSelector<T, C?>): DataRow<T> =
301+
meanFor(skipNaN = skipNaN_default, columns = columns)
302+
303+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
304+
public fun <T> DataFrame<T>.meanFor(vararg columns: String): DataRow<T> =
305+
meanFor(columns = columns, skipNaN = skipNaN_default)
306+
307+
@AccessApiOverload
308+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
309+
public fun <T, C : Number> DataFrame<T>.meanFor(vararg columns: ColumnReference<C?>): DataRow<T> =
310+
meanFor(columns = columns, skipNaN = skipNaN_default)
311+
312+
@AccessApiOverload
313+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
314+
public fun <T, C : Number> DataFrame<T>.meanFor(vararg columns: KProperty<C?>): DataRow<T> =
315+
meanFor(columns = columns, skipNaN = skipNaN_default)
316+
317+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
318+
public fun <T, C : Number> DataFrame<T>.mean(columns: ColumnsSelector<T, C?>): Double =
319+
mean(skipNaN = skipNaN_default, columns = columns)
320+
321+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
322+
public fun <T> DataFrame<T>.mean(vararg columns: String): Double = mean(columns = columns, skipNaN = skipNaN_default)
323+
324+
@AccessApiOverload
325+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
326+
public fun <T, C : Number> DataFrame<T>.mean(vararg columns: ColumnReference<C?>): Double =
327+
mean(columns = columns, skipNaN = skipNaN_default)
328+
329+
@AccessApiOverload
330+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
331+
public fun <T, C : Number> DataFrame<T>.mean(vararg columns: KProperty<C?>): Double =
332+
mean(columns = columns, skipNaN = skipNaN_default)
333+
334+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
335+
public inline fun <T, reified D : Number> DataFrame<T>.meanOf(crossinline expression: RowExpression<T, D?>): Double =
336+
meanOf(skipNaN = skipNaN_default, expression = expression)
337+
338+
@Refine
339+
@Interpretable("GroupByMean1")
340+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
341+
public fun <T> Grouped<T>.mean(): DataFrame<T> = mean(skipNaN = skipNaN_default)
342+
343+
@Refine
344+
@Interpretable("GroupByMean0")
345+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
346+
public fun <T, C : Number> Grouped<T>.meanFor(columns: ColumnsForAggregateSelector<T, C?>): DataFrame<T> =
347+
meanFor(skipNaN = skipNaN_default, columns = columns)
348+
349+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
350+
public fun <T> Grouped<T>.meanFor(vararg columns: String): DataFrame<T> =
351+
meanFor(columns = columns, skipNaN = skipNaN_default)
352+
353+
@AccessApiOverload
354+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
355+
public fun <T, C : Number> Grouped<T>.meanFor(vararg columns: ColumnReference<C?>): DataFrame<T> =
356+
meanFor(columns = columns, skipNaN = skipNaN_default)
357+
358+
@AccessApiOverload
359+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
360+
public fun <T, C : Number> Grouped<T>.meanFor(vararg columns: KProperty<C?>): DataFrame<T> =
361+
meanFor(columns = columns, skipNaN = skipNaN_default)
362+
363+
@Refine
364+
@Interpretable("GroupByMean0")
365+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
366+
public fun <T, C : Number> Grouped<T>.mean(name: String? = null, columns: ColumnsSelector<T, C?>): DataFrame<T> =
367+
mean(name, skipNaN = skipNaN_default, columns = columns)
368+
369+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
370+
public fun <T> Grouped<T>.mean(vararg columns: String, name: String? = null): DataFrame<T> =
371+
mean(columns = columns, name = name, skipNaN = skipNaN_default)
372+
373+
@AccessApiOverload
374+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
375+
public fun <T, C : Number> Grouped<T>.mean(vararg columns: ColumnReference<C?>, name: String? = null): DataFrame<T> =
376+
mean(columns = columns, name = name, skipNaN = skipNaN_default)
377+
378+
@AccessApiOverload
379+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
380+
public fun <T, C : Number> Grouped<T>.mean(vararg columns: KProperty<C?>, name: String? = null): DataFrame<T> =
381+
mean(columns = columns, name = name, skipNaN = skipNaN_default)
382+
383+
@Refine
384+
@Interpretable("GroupByMeanOf")
385+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
386+
public inline fun <T, reified R : Number> Grouped<T>.meanOf(
387+
name: String? = null,
388+
crossinline expression: RowExpression<T, R?>,
389+
): DataFrame<T> = meanOf(name, skipNaN = skipNaN_default, expression = expression)
390+
391+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
392+
public fun <T> Pivot<T>.mean(separate: Boolean = false): DataRow<T> =
393+
mean(skipNaN = skipNaN_default, separate = separate)
394+
395+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
396+
public fun <T, C : Number> Pivot<T>.meanFor(
397+
separate: Boolean = false,
398+
columns: ColumnsForAggregateSelector<T, C?>,
399+
): DataRow<T> = meanFor(skipNaN = skipNaN_default, separate = separate, columns = columns)
400+
401+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
402+
public fun <T> Pivot<T>.meanFor(vararg columns: String, separate: Boolean = false): DataRow<T> =
403+
meanFor(columns = columns, skipNaN = skipNaN_default, separate = separate)
404+
405+
@AccessApiOverload
406+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
407+
public fun <T, C : Number> Pivot<T>.meanFor(
408+
vararg columns: ColumnReference<C?>,
409+
separate: Boolean = false,
410+
): DataRow<T> = meanFor(columns = columns, skipNaN = skipNaN_default, separate = separate)
411+
412+
@AccessApiOverload
413+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
414+
public fun <T, C : Number> Pivot<T>.meanFor(vararg columns: KProperty<C?>, separate: Boolean = false): DataRow<T> =
415+
meanFor(columns = columns, skipNaN = skipNaN_default, separate = separate)
416+
417+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
418+
public fun <T, R : Number> Pivot<T>.mean(columns: ColumnsSelector<T, R?>): DataRow<T> =
419+
mean(skipNaN = skipNaN_default, columns = columns)
420+
421+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
422+
public inline fun <T, reified R : Number> Pivot<T>.meanOf(crossinline expression: RowExpression<T, R?>): DataRow<T> =
423+
meanOf(skipNaN = skipNaN_default, expression = expression)
424+
425+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
426+
public fun <T> PivotGroupBy<T>.mean(separate: Boolean = false): DataFrame<T> = mean(separate, skipNaN = skipNaN_default)
427+
428+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
429+
public fun <T, C : Number> PivotGroupBy<T>.meanFor(
430+
separate: Boolean = false,
431+
columns: ColumnsForAggregateSelector<T, C?>,
432+
): DataFrame<T> = meanFor(skipNaN = skipNaN_default, separate = separate, columns = columns)
433+
434+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
435+
public fun <T> PivotGroupBy<T>.meanFor(vararg columns: String, separate: Boolean = false): DataFrame<T> =
436+
meanFor(columns = columns, separate = separate, skipNaN = skipNaN_default)
437+
438+
@AccessApiOverload
439+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
440+
public fun <T, C : Number> PivotGroupBy<T>.meanFor(
441+
vararg columns: ColumnReference<C?>,
442+
separate: Boolean = false,
443+
): DataFrame<T> = meanFor(columns = columns, separate = separate, skipNaN = skipNaN_default)
444+
445+
@AccessApiOverload
446+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
447+
public fun <T, C : Number> PivotGroupBy<T>.meanFor(
448+
vararg columns: KProperty<C?>,
449+
separate: Boolean = false,
450+
): DataFrame<T> = meanFor(columns = columns, separate = separate, skipNaN = skipNaN_default)
451+
452+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
453+
public fun <T, R : Number> PivotGroupBy<T>.mean(columns: ColumnsSelector<T, R?>): DataFrame<T> =
454+
mean(skipNaN = skipNaN_default, columns = columns)
455+
456+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
457+
public fun <T> PivotGroupBy<T>.mean(vararg columns: String): DataFrame<T> =
458+
mean(columns = columns, skipNaN = skipNaN_default)
459+
460+
@AccessApiOverload
461+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
462+
public fun <T, R : Number> PivotGroupBy<T>.mean(vararg columns: ColumnReference<R?>): DataFrame<T> =
463+
mean(columns = columns, skipNaN = skipNaN_default)
464+
465+
@AccessApiOverload
466+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
467+
public fun <T, R : Number> PivotGroupBy<T>.mean(vararg columns: KProperty<R?>): DataFrame<T> =
468+
mean(columns = columns, skipNaN = skipNaN_default)
469+
470+
@Deprecated(MEAN_NO_SKIPNAN, level = DeprecationLevel.HIDDEN)
471+
public inline fun <T, reified R : Number> PivotGroupBy<T>.meanOf(
472+
crossinline expression: RowExpression<T, R?>,
473+
): DataFrame<T> = meanOf(skipNaN = skipNaN_default, expression = expression)
474+
475+
// endregion

0 commit comments

Comments
 (0)