我有一个庞大的数据集,可以使用多核处理。我有一个数据帧,其中包含每一行的序列和块大小。
我编写了一个循环,该循环提取每一行的序列和块大小,并从名为localcider的包中计算一个函数的得分。
我不知道怎么并行运行。
有人能帮忙吗?
omega = []
AA=list('FYW')
for i, row in df.iterrows():
seq = df['IDRseq'][i]
b = df['bsize'][i]
bsize = [b-1,b]
SeqOb = SequenceParameters(seq,blobsize=bsize)
omega.append(SeqOb.get_kappa_X(AA))
s1 = pd.Series(omega, name='omega')
df = df.assign(omega=s1.values)
发布于 2022-03-11 11:26:43
在谷歌上搜索了很多之后,我遇到了混乱。
我认为这是做我想做的事最直观的方式。
我正在张贴的代码,供今后参考。
from pandarallel import pandarallel
pandarallel.initialize(progress_bar=True, nb_workers = n)
# nb_workers = n ; I set the nb_workers fo CPU core - 1 so the system is more stable
def something(x):
#do stuff
return result
df['result'] = df.parallel_apply(something, axis=1)
https://stackoverflow.com/questions/71428885
复制相似问题