我的Parallel用途:
sdf = Parallel(n_jobs=3, verbose=1, pre_dispatch='1.5*n_jobs')(delayed(char_etl)(x,k1,k2,k3) for x in X)
Run Code Online (Sandbox Code Playgroud)
X是一个列表.char_etl,是一个字符串匹配函数。
我使用的版本是:python 2.7.11、centos 6.7、joblib 0.11
每次都卡住了,像这样:
[Parallel(n_jobs=3)]: Done 89 tasks | elapsed: 10.9s
[Parallel(n_jobs=3)]: Done 258 tasks | elapsed: 46.8s
[Parallel(n_jobs=3)]: Done 552 tasks | elapsed: 1.7min
[Parallel(n_jobs=3)]: Done 902 tasks | elapsed: 2.7min
[Parallel(n_jobs=3)]: Done 997 out of 1000 | elapsed: 2.9min remaining: 0.5s
Thanks.
Run Code Online (Sandbox Code Playgroud) 我Data Frame看起来像这个例子的前三列:
id obs value newCol
a 1 uncool NA
a 2 cool 1
a 3 uncool NA
a 4 uncool NA
a 5 cool 2
a 6 uncool NA
a 7 cool 1
a 8 uncool NA
b 1 cool 0
Run Code Online (Sandbox Code Playgroud)
我需要的是一个列(上面的newCol),它计算值为"cool"的观察值或组的第一行(按id分组)之间的"uncool"数.
我该怎么做(通过dplyr理想使用)?