按单个维度分组对于 xarray DataArrays 工作正常:
d = xr.DataArray([1, 2, 3], coords={'a': ['x', 'x', 'y']}, dims=['a'])
d.groupby('a').mean()) # -> DataArray (a: 2) array([1.5, 3. ])`
Run Code Online (Sandbox Code Playgroud)
但是,这仅支持单个维度,因此按多个维度分组不起作用:
d = DataAssembly([[1, 2, 3], [4, 5, 6]],
coords={'a': ('multi_dim', ['a', 'b']), 'c': ('multi_dim', ['c', 'c']), 'b': ['x', 'y', 'z']},
dims=['multi_dim', 'b'])
d.groupby(['a', 'b']) # TypeError: `group` must be an xarray.DataArray or the name of an xarray variable or dimension
Run Code Online (Sandbox Code Playgroud)
我只有一个低效的解决方案,它手动执行 for 循环:
a, b = np.unique(d['a'].values), np.unique(d['b'].values)
result = xr.DataArray(np.zeros([len(a), len(b)]), coords={'a': a, 'b': b}, …Run Code Online (Sandbox Code Playgroud) 我有一个遵循标准目录布局的项目设置(虽然未使用Maven):
src/main
| java
| resources
| library.dll
Run Code Online (Sandbox Code Playgroud)
本机DLL位于resources文件夹中,源位于java文件夹中。resources文件夹是Java类路径的成员。
我现在想加载DLL,而不必设置JRE -Djava.library.path选项或设置PATH变量,以便可以通过简单的双击来启动生成的jar文件。
运行jar文件时是否可以将资源文件夹添加到库搜索路径而无需进行其他配置?例如,设置与Class-Path清单中的相似?
我正在尝试链接Andi Kleen的glibc实现,以便为使用pthreads的程序启用锁定省略.我将我的程序链接如下:
g++ \
-Wl,--rpath=/path/glibc-elision/build/lib \
-Wl,--dynamic-linker=/path/glibc-elision/build/lib/ld-linux-x86-64.so.2 \
-o program program.o \
-fgnu-tm -mrtm -pthread \
-Wl,--no-as-needed --enable-lock-elision=yes
Run Code Online (Sandbox Code Playgroud)
只要我不使用libstdc ++的任何组件,一切正常.
但是,尽管std::vector引用了eg ,动态链接器也找不到libstdc ++.so.6(error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory).
为解决此错误,我尝试提供自定义以及标准glibc -Wl,--rpath=/path/glibc-elision/build/lib;/usr/lib/x86_64-linux-gnu/libstdc++.so.6.这不是正确的调用,但想法是以某种方式提供两个库.
所以问题是:
如何将程序与两个glibcs的不同组件链接?
我正在使用gcc(Ubuntu/Linaro 4.8.1-10ubuntu8)4.8.1开发Ubuntu 13.10.