(
*,
func: Callable,
obj: Any,
dtype: DTypeLike | None = None,
output_core_dims: list | tuple = ((),),
output_sizes: Mapping[Any, int] | None = None,
func_args: tuple = (),
func_kwargs: Mapping = {},
)
| 109 | |
| 110 | |
| 111 | def _apply_str_ufunc( |
| 112 | *, |
| 113 | func: Callable, |
| 114 | obj: Any, |
| 115 | dtype: DTypeLike | None = None, |
| 116 | output_core_dims: list | tuple = ((),), |
| 117 | output_sizes: Mapping[Any, int] | None = None, |
| 118 | func_args: tuple = (), |
| 119 | func_kwargs: Mapping = {}, |
| 120 | ) -> Any: |
| 121 | # TODO handling of na values ? |
| 122 | if dtype is None: |
| 123 | dtype = obj.dtype |
| 124 | |
| 125 | dask_gufunc_kwargs = dict() |
| 126 | if output_sizes is not None: |
| 127 | dask_gufunc_kwargs["output_sizes"] = output_sizes |
| 128 | |
| 129 | from xarray.computation.apply_ufunc import apply_ufunc |
| 130 | |
| 131 | return apply_ufunc( |
| 132 | func, |
| 133 | obj, |
| 134 | *func_args, |
| 135 | vectorize=True, |
| 136 | dask="parallelized", |
| 137 | output_dtypes=[dtype], |
| 138 | output_core_dims=output_core_dims, |
| 139 | dask_gufunc_kwargs=dask_gufunc_kwargs, |
| 140 | **func_kwargs, |
| 141 | ) |
| 142 | |
| 143 | |
| 144 | class StringAccessor(Generic[T_DataArray]): |
no test coverage detected
searching dependent graphs…