本文整理汇总了Python中xarray.Dataset.coords[f]方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.coords[f]方法的具体用法?Python Dataset.coords[f]怎么用?Python Dataset.coords[f]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xarray.Dataset
的用法示例。
在下文中一共展示了Dataset.coords[f]方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _master_dataset
# 需要导入模块: from xarray import Dataset [as 别名]
# 或者: from xarray.Dataset import coords[f] [as 别名]
def _master_dataset(exp, data_dict, new_fields):
all_case_vals = exp.all_case_vals()
first_case = next(exp.all_cases())
proto = data_dict[first_case]
n_case_vals = [ len(case_vals) for case_vals in all_case_vals ]
n_cases = len(n_case_vals)
# Create the new Dataset to populate
ds_new = Dataset()
# Add the case coordinates
for case, long, vals in exp.itercases():
ds_new[case] = vals
ds_new[case].attrs['long_name'] = long
for f in proto.variables:
dsf = proto.variables[f]
# Copy or update the coords/variable data
if f in proto.coords:
ds_new.coords[f] = (dsf.dims, dsf.values)
else:
if f in new_fields:
new_dims = exp.cases + [str(x) for x in dsf.dims]
new_values = empty(n_case_vals + list(dsf.values.shape))
it = nditer(empty(n_case_vals), flags=['multi_index', ])
while not it.finished:
indx = it.multi_index
case_indx = tuple([ all_case_vals[n][i] \
for i, n in zip(indx, range(n_cases)) ])
new_values[indx] = data_dict[case_indx].variables[f]
it.iternext()
ds_new[f] = (new_dims, new_values)
else:
ds_new[f] = (dsf.dims, dsf.values)
# Set attributes for the variable
for att, val in dsf.attrs.items():
ds_new[f].attrs[att] = val
# Set global attributes
for att, val in proto.attrs.items():
ds_new.attrs[att] = val
return ds_new