作为一名生物学本科生,我经常编写 python 软件以进行一些数据分析。一般结构总是:
有一些数据要加载,对(统计、聚类...)执行分析,然后可视化结果。
有时对于同一个实验,数据可以采用不同的格式,您可以采用不同的方式来分析它们,并且可能有不同的可视化,这可能取决于或不取决于所执行的分析。
我正在努力寻找一种通用的“pythonic”和面向对象的方式来使其清晰且易于扩展。添加新类型的操作或对现有操作进行轻微更改应该很容易,所以我非常相信我应该使用 oop 来做到这一点。
我已经用加载实验数据的方法完成了一个Data对象。如果我有多个数据源以覆盖加载功能,我计划创建继承类。
在那之后......我不确定。我应该为每种类型的分析做一个带有子类的Analysis抽象类(并使用它们的属性来存储结果),并为Visualization做同样的事情,用一个包含 Data 实例和多个Analysis and Visualization实例的通用Experiment对象?或者可视化应该是采用分析和/或数据对象作为参数以构造图的函数吗?有没有更有效的方法?我错过了什么吗?