This PR mainly adds method registries for frames, columns, and their group-by counterparts. It implements a number of methods and attributes, including arithmetic operations (+, -, *, /, etc.), comparisons (>, <, >=, <=, etc.) and aggregation methods (min, max, mean, median, etc.). The type checker will try and infer the resulting type, and fallback to a top type if it cannot properly express it. For example, ColumnType[int].mean() results in ColumnType[Any], whilst ColumnType[int].median() results in Column[int] because the median is necessarily one of the column's values.
Where possible, inference is delegated to the columns / inner types.
Element-wise operations also generate an assertion to ensure that the two operands have the same number of elements.
This PR mainly adds method registries for frames, columns, and their group-by counterparts. It implements a number of methods and attributes, including arithmetic operations (+, -, *, /, etc.), comparisons (>, <, >=, <=, etc.) and aggregation methods (min, max, mean, median, etc.). The type checker will try and infer the resulting type, and fallback to a top type if it cannot properly express it. For example, `ColumnType[int].mean()` results in `ColumnType[Any]`, whilst `ColumnType[int].median()` results in `Column[int]` because the median is necessarily one of the column's values.
Where possible, inference is delegated to the columns / inner types.
Element-wise operations also generate an assertion to ensure that the two operands have the same number of elements.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR mainly adds method registries for frames, columns, and their group-by counterparts. It implements a number of methods and attributes, including arithmetic operations (+, -, *, /, etc.), comparisons (>, <, >=, <=, etc.) and aggregation methods (min, max, mean, median, etc.). The type checker will try and infer the resulting type, and fallback to a top type if it cannot properly express it. For example,
ColumnType[int].mean()results inColumnType[Any], whilstColumnType[int].median()results inColumn[int]because the median is necessarily one of the column's values.Where possible, inference is delegated to the columns / inner types.
Element-wise operations also generate an assertion to ensure that the two operands have the same number of elements.