| 3023 | |
| 3024 | @derived_from(pd.DataFrame) |
| 3025 | def groupby( |
| 3026 | self, by, group_keys=True, sort=None, observed=None, dropna=None, **kwargs |
| 3027 | ): |
| 3028 | from dask.dataframe.dask_expr._groupby import GroupBy |
| 3029 | |
| 3030 | if isinstance(by, FrameBase) and not isinstance(by, Series): |
| 3031 | raise ValueError( |
| 3032 | f"`by` must be a column name or list of columns, got {by}." |
| 3033 | ) |
| 3034 | |
| 3035 | return GroupBy( |
| 3036 | self, |
| 3037 | by, |
| 3038 | group_keys=group_keys, |
| 3039 | sort=sort, |
| 3040 | observed=observed, |
| 3041 | dropna=dropna, |
| 3042 | **kwargs, |
| 3043 | ) |
| 3044 | |
| 3045 | def __setitem__(self, key, value): |
| 3046 | if isinstance(key, (tuple, list)) and isinstance(value, DataFrame): |