medianByOrNull
Returns the element of this DataColumn at the median of the values that the given selector returns for each element, or null if there is nothing to compute the median of.
The result of the expression is considered the 'input' of this operation.
Only self-comparable values are supported: values of a type T : Comparable<T> that are mutually comparable (like strings, primitive numbers, or dates). This includes all primitive number types, but no mix of different number types, which would result in a ClassCastException.
null values in the input are always ignored.
Which value lies at the median is determined using quantile estimation method R3, so no interpolation takes place, not even for numbers. If skipNaN is false and values are encountered, the first one with a NaN value is selected.NaN
Currently, only the default quantile estimation methods can be used. In the future, it might become possible to choose a different one, see #1121.
Returns null when there is nothing to compute the median of, for instance, when the input is empty or contains only null values.
Don't confuse medianByOrNull with medianOfOrNull, which returns the median selector value itself instead of the element it belongs to.
See also:
medianBy— throws instead of returningnullfor a column with nothing to compute the median of.percentileByOrNull— the element at any other percentile of the values a selector returns.The Median Operation— an overview of allmedianmodes.
For more information: See median on the documentation website.
Example
// The first name of median length in the "name"/"firstName" column,
// or `null` if the column is empty
df.name.firstName.medianByOrNull { it.length }Return
The element at the median of the values selector returns, or null if there are no values to compute the median of.
Parameters
A function that returns the value to compare for each element of this column.
Returns the row of this DataFrame at the median of the values that the given expression returns for each row, or null if there is nothing to compute the median of.
The given RowExpression is evaluated for each row of the dataframe. The row is both the receiver and the argument (it) of the expression, so the values in it can be accessed directly.
For more information: See RowExpression on the documentation website.
The result of the expression is considered the 'input' of this operation.
Only self-comparable values are supported: values of a type T : Comparable<T> that are mutually comparable (like strings, primitive numbers, or dates). This includes all primitive number types, but no mix of different number types, which would result in a ClassCastException.
null values in the input are always ignored.
Which value lies at the median is determined using quantile estimation method R3, so no interpolation takes place, not even for numbers. If skipNaN is false and values are encountered, the first one with a NaN value is selected.NaN
Currently, only the default quantile estimation methods can be used. In the future, it might become possible to choose a different one, see #1121.
Returns null when there is nothing to compute the median of, for instance, when the input is empty or contains only null values.
Don't confuse medianByOrNull with medianOfOrNull, which returns the median expression value itself instead of the row it belongs to.
See also:
medianBy— throws instead of returningnullwhen there's nothing to compute the median of.percentileByOrNull— the row at any other percentile of the values a row expression returns.The Median Operation— an overview of allmedianmodes.
For more information: See median on the documentation website.
Example
// The row with the median "age", or `null` if this dataframe is empty
df.medianByOrNull { age }Return
The DataRow at the median of the values expression returns, or null if there are no values to compute the median of.
Parameters
The RowExpression to compute the value to compare the rows by.
Returns the row of this DataFrame at the median of the values in the column with the given name, or null if there is nothing to compute the median of.
Only self-comparable values are supported: values of a type T : Comparable<T> that are mutually comparable (like strings, primitive numbers, or dates). This includes all primitive number types, but no mix of different number types, which would result in a ClassCastException.
null values in the input are always ignored.
Which value lies at the median is determined using quantile estimation method R3, so no interpolation takes place, not even for numbers. If skipNaN is false and values are encountered, the first one with a NaN value is selected.NaN
Currently, only the default quantile estimation methods can be used. In the future, it might become possible to choose a different one, see #1121.
Returns null when there is nothing to compute the median of, for instance, when the input is empty or contains only null values.
Don't confuse medianByOrNull with medianOrNull, which returns the median value itself instead of the row it belongs to.
See also:
medianBy— throws instead of returningnullwhen there's nothing to compute the median of.percentileByOrNull— the row at any other percentile of the values in a column.The Median Operation— an overview of allmedianmodes.
For more information: See median on the documentation website.
Example
// The row with the median "age", or `null` if this dataframe is empty
df.medianByOrNull("age")Return
The DataRow at the median of the values in the given column, or null if there are no values to compute the median of.
Parameters
The name of the column of this DataFrame to compare the rows by.
Deprecated
It's recommended to migrate to the String or Extension Properties Access API https://kotlin.github.io/dataframe/apilevels.html