wavgBy
The wavgBy
method returns a new table with a column containing the weighted average of a table's data column, grouped by the specified columns.
Syntax
table.wavgBy(weightColumn)
table.wavgBy(weightColumn, groupByColumns...)
table.wavgBy(weightColumn, groupByColumns)
Parameters
Parameter | Type | Description |
---|---|---|
weightColumn | String | The column to use as the weight for the calculation. |
groupByColumns | String... | The column(s) by which to group data.
|
groupByColumns | ColumnName... | The column(s) by which to group data.
|
groupByColumns | Collection<String> | The column(s) by which to group data.
|
Returns
A new table with a column containing the weighted average of the data column, grouped by the specified columns.
Examples
In this example, wavgBy
returns the weighted average of the Num1
column, with no grouping columns.
source = newTable(
intCol("Num1", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
intCol("Num2", 5, 4, 3, 2, 1, 1, 1, 1, 1, 1)
)
result = source.wavgBy("Num2")
- source
- result
In this example, wavgBy
returns the weighted average of the Num1
column, grouped by the Letter
column.
source = newTable(
stringCol("Letter", "A", "B", "A", "B", "A", "B", "A", "B", "A", "B"),
intCol("Num1", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
intCol("Num2", 5, 4, 3, 2, 1, 1, 1, 1, 1, 1)
)
result = source.wavgBy("Num2", "Letter")
- source
- result