当前位置: 首页>>代码示例>>Python>>正文


Python Dataset.sum方法代码示例

本文整理汇总了Python中xarray.Dataset.sum方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.sum方法的具体用法?Python Dataset.sum怎么用?Python Dataset.sum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xarray.Dataset的用法示例。


在下文中一共展示了Dataset.sum方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: global_avg

# 需要导入模块: from xarray import Dataset [as 别名]
# 或者: from xarray.Dataset import sum [as 别名]
def global_avg(data, weights=None, dims=['lon', 'lat']):
    """ Compute (area-weighted) global average over a DataArray
    or Dataset. If `weights` are not passed, they will be computed
    by using the areas of each grid cell in the dataset.

    .. note::
        Handles missing values (nans and infs).

    """

    if isinstance(data, DataArray):

        if weights is None:  # Compute gaussian weights in latitude
            weights = area_grid(data.lon, data.lat)
            # Saving for later - compute latitudinal weighting
            # gw = weights.sum('lon')
            # weights = 2.*gw/gw.sum('lat')

        weights = weights.where(xu.isfinite(data))
        total_weights = weights.sum(dims)

        return (data*weights).sum(dims)/total_weights

    elif isinstance(data, Dataset):

        # Create a new temporary Dataset
        new_data = Dataset()

        # Iterate over the contents of the original Dataset,
        # which are all DataArrays, and compute the global avg
        # on those elements.
        for v in data.data_vars:
            coords = data[v].coords
            if not ('lon' in coords):
                new_data[v] = data[v]
            else:
                new_data[v] = global_avg(data[v], weights)

        # Collapse remaining lat, lon dimensions if they're here
        leftover_dims = [d for d in dims if d in new_data.coords]
        if leftover_dims:
            new_data = new_data.sum(leftover_dims)
        return new_data
开发者ID:darothen,项目名称:marc_analysis,代码行数:45,代码来源:analysis.py


注:本文中的xarray.Dataset.sum方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。