|
52 | 52 | T_Variable, |
53 | 53 | ) |
54 | 54 | from xarray.core.variable import Variable |
55 | | - from xarray.groupers import Grouper, Resampler |
| 55 | + from xarray.groupers import Resampler |
56 | 56 |
|
57 | 57 | DTypeMaybeMapping = Union[DTypeLikeSave, Mapping[Any, DTypeLikeSave]] |
58 | 58 |
|
@@ -888,68 +888,6 @@ def rolling_exp( |
888 | 888 |
|
889 | 889 | return rolling_exp.RollingExp(self, window, window_type) |
890 | 890 |
|
891 | | - def shuffle_by( |
892 | | - self, |
893 | | - group: Hashable | DataArray | Mapping[Any, Grouper] | None = None, |
894 | | - chunks: T_Chunks = None, |
895 | | - **groupers: Grouper, |
896 | | - ) -> Self: |
897 | | - """ |
898 | | - Sort or "shuffle" this object by a Grouper. |
899 | | -
|
900 | | - "Shuffle" means the object is sorted so that all group members occur sequentially, |
901 | | - in the same chunk. Multiple groups may occur in the same chunk. |
902 | | - This method is particularly useful for chunked arrays (e.g. dask, cubed). |
903 | | - For chunked array types, the order of appearance is not guaranteed, but will depend on |
904 | | - the input chunking. |
905 | | -
|
906 | | - Parameters |
907 | | - ---------- |
908 | | - group : Hashable or DataArray or IndexVariable or mapping of Hashable to Grouper |
909 | | - Array whose unique values should be used to group this array. If a |
910 | | - Hashable, must be the name of a coordinate contained in this dataarray. If a dictionary, |
911 | | - must map an existing variable name to a :py:class:`Grouper` instance. |
912 | | - chunks : int, tuple of int, "auto" or mapping of hashable to int or tuple of int, optional |
913 | | - How to adjust chunks along dimensions not present in the array being grouped by. |
914 | | - **groupers : Grouper |
915 | | - Grouper objects using which to shuffle the data. |
916 | | -
|
917 | | - Examples |
918 | | - -------- |
919 | | - >>> import dask |
920 | | - >>> from xarray.groupers import UniqueGrouper |
921 | | - >>> da = xr.DataArray( |
922 | | - ... dims="x", |
923 | | - ... data=dask.array.arange(10, chunks=1), |
924 | | - ... coords={"x": [1, 2, 3, 1, 2, 3, 1, 2, 3, 0]}, |
925 | | - ... name="a", |
926 | | - ... ) |
927 | | - >>> da |
928 | | - <xarray.DataArray 'a' (x: 10)> Size: 80B |
929 | | - dask.array<arange, shape=(10,), dtype=int64, chunksize=(1,), chunktype=numpy.ndarray> |
930 | | - Coordinates: |
931 | | - * x (x) int64 80B 1 2 3 1 2 3 1 2 3 0 |
932 | | -
|
933 | | - >>> da.shuffle_by(x=UniqueGrouper()) |
934 | | - <xarray.DataArray 'a' (x: 10)> Size: 80B |
935 | | - dask.array<shuffle, shape=(10,), dtype=int64, chunksize=(3,), chunktype=numpy.ndarray> |
936 | | - Coordinates: |
937 | | - * x (x) int64 80B 0 1 1 1 2 2 2 3 3 3 |
938 | | -
|
939 | | - Returns |
940 | | - ------- |
941 | | - DataArray or Dataset |
942 | | - The same type as this object |
943 | | -
|
944 | | - See Also |
945 | | - -------- |
946 | | - DataArrayGroupBy.shuffle |
947 | | - DatasetGroupBy.shuffle |
948 | | - dask.dataframe.DataFrame.shuffle |
949 | | - dask.array.shuffle |
950 | | - """ |
951 | | - return self.groupby(group=group, **groupers)._shuffle_obj(chunks) |
952 | | - |
953 | 891 | def _resample( |
954 | 892 | self, |
955 | 893 | resample_cls: type[T_Resample], |
|
0 commit comments