我编写了一个使用numpy,multiprocessing,tqdm和其他一些Python库的python脚本。另外,我运行的软件包(例如samtools,bwa,GATK)设置为必须在linux中安装(apt-get install)。
我想以某种方式包装所有这些依赖项,以使最终安装尽可能地对用户友好且稳定。
似乎pip不是一个选项,因为在我的示例中包含了非python软件包。
也许可以使用Docker或创建具有所有这些依赖关系的conda环境,但是我并没有真正了解如何进行管理。
想象一张这样的表:
name | value
-----|------
Jack | 0
Jack | 1
Jack | 0.5
Jack | 1
Jill | 0
Jill | 2
Run Code Online (Sandbox Code Playgroud)
对于每个名字,我想要累积平均值,如下所示:
name | value | cumAverage
-----|-------|-----------
Jack | 0 | 0
Jack | 1 | 0.5
Jack | 0.5 | 0.5
Jack | 1 | 0.625
Jill | 0 | 0
Jill | 2 | 1
Run Code Online (Sandbox Code Playgroud)
因此,每当出现新名称时,累积平均值应“重新启动”。名称列已排序,因此每当出现新名称时,当前累积平均值就完成了。