假设我有这样的数据集
nx1, nx2, nx3 = 5, 3, 20
ds = xray.Dataset()
ds.coords.update({'x1': ('x1', range(nx1)),
'x2': ('x2', range(nx2)),
'x3': ('x3', range(nx3))})
ds['A'] = (['x1', 'x2', 'x3'], np.random.randn(nx1, nx2, nx3))
ds['B'] = (['x1', 'x2', 'x3'], np.random.randn(nx1, nx2, nx3))
函数func
作为输入变量a和B,但它沿着x3
维工作,只接受形状(nx3,)
的数组,并输出形状(nx3,)
的数组。如果我想将这个函数应用于上面的数据集,并将结果保存为一个名为C的新变量,那么下面的方法是:
通过在数据集中初始化一个新数组并在其他维度上使用for循环?在
我不太喜欢pandas,但是对于其他数据类型,一个通用的解决方案是使用一个理解来代替,并且去掉嵌套循环和初始化步骤。在
编辑:顺便说一句
^{pr2}$对于一个简单的函数来说,似乎工作得很好:
^{3}$相关问题 更多 >
编程相关推荐