在我的分析工作中吸引我使用Python的是“全栈”工具,这些工具可以通过被设计为通用语言而相对于R作为领域特定语言来设计。实际的数据分析只是故事的一部分,Python具有丰富的工具和简洁的功能齐全的语言,可以从一种语言开始到最后使用一种语言(尽管使用C / Fortran包装器)。
在前端,我的工作通常从获取各种来源的数据开始,包括数据库,各种格式的文件或网络抓取。Python对此提供了很好的支持,并且大多数数据库或通用数据格式都有一个可靠且易于维护的接口库。R对于数据I / O似乎具有普遍的丰富性,尽管对于FITS,R软件包似乎没有处于积极的开发阶段(2.5年内没有发布FITSio吗?)。许多下一阶段的工作通常发生在组织数据和进行带有大量系统级交互的基于管道的处理的阶段。
在后端,您需要能够以切实的方式呈现大型数据集,对我而言,这通常意味着生成网页。我为两个项目编写了重要的Django Web应用程序,用于检查大型Chandra调查项目的结果。这包括很多刮擦(多波长目录)等等。这些仅在内部用于导航数据集和帮助源目录生成,但是在整个项目中它们是无价的。
转向特定于天文学的功能进行分析后,很明显该社区已牢固地支持Python。从个人和机构级别的可用软件包深度和开发活动级别可以看出这一点(http://www.astropython.org/resources)。考虑到可用的可用基础结构水平,我认为直接努力将最有用的R天文学统计工具移植到Python是有意义的。这将补充当前通过rpy2从Python调用R函数的功能。如果您有兴趣,我强烈建议您阅读本文,这里是比较编程语言的问题https://diceus.com/what-technology- is-b ... nd-java-r /希望对您有所帮助。