Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 使用dask沿轴排序数据集_Sorting_Dask_Python Xarray_Dask Delayed - Fatal编程技术网

Sorting 使用dask沿轴排序数据集

Sorting 使用dask沿轴排序数据集,sorting,dask,python-xarray,dask-delayed,Sorting,Dask,Python Xarray,Dask Delayed,我想每年按照时间维度对数据集(netcdf文件)进行排序,然后对它们进行平均。问题是dask只支持“topk”排序,如果包含整个范围的值,则会消耗所有内存。Xarray仅支持一维数组的排序。numpysort完成了这项工作,但它也消耗内存。是否有任何方法可以使用dask跨某个轴对整个大型数据集进行排序以减少内存占用?我正在尝试使用dask并行化将xarray.apply_ufunc应用于groupby对象,但得到的错误是,我需要指定输出类型(我已指定)。我是做错了什么,还是应用了ufunc不支持

我想每年按照时间维度对数据集(netcdf文件)进行排序,然后对它们进行平均。问题是dask只支持“topk”排序,如果包含整个范围的值,则会消耗所有内存。Xarray仅支持一维数组的排序。numpysort完成了这项工作,但它也消耗内存。是否有任何方法可以使用dask跨某个轴对整个大型数据集进行排序以减少内存占用?

我正在尝试使用dask并行化将xarray.apply_ufunc应用于groupby对象,但得到的错误是,我需要指定输出类型(我已指定)。我是做错了什么,还是应用了ufunc不支持groupby对象?代码:
xarray.apply_ufunc(numpy.sort,dataset.groupby('time.year'),0,dask='parallelized',output_dtypes=[numpy.float64])
。错误:
ValueError:output dtypes(output\u dtypes)必须提供,以便在使用dask='parallelized'时应用\u func
我正在尝试将xarray.apply\u ufunc应用于具有dask并行化的groupby对象,但得到需要指定output\u dtypes(我已指定)的错误。我是做错了什么,还是应用了ufunc不支持groupby对象?代码:
xarray.apply_ufunc(numpy.sort,dataset.groupby('time.year'),0,dask='parallelized',output_dtypes=[numpy.float64])
。错误:
ValueError:使用dask='parallelized'时,必须提供输出数据类型(output\u dtypes)才能应用\u func