实验数据处理与分析
本文最后更新于 2023年7月28日
本文主要介绍使用python对实验数据进行处理和分析的一些经验。
纯文本数据
对于纯文本数据,可以很容易地自己写代码来处理数据。
比如python可以用open函数读取文件,split处理格式,但是这样不太pythonic,可以直接借助numpy或pandas中的相关函数直接读取。
以numpy举例:
1 | |
一行搞定,非常优雅。
但是并不是所有软件生成的数据都可以直接读取,比如可能第一行多了一些数据说明。
numpy.loadtxt可以自动略过#开头的行,类似于注释,所以可以用shell对实验数据做一点小小的修改。
1 | |
加速python数据处理
python在计算密集型的任务中往往会很慢。numba可以通过JIT加速。
使用numba加速非常简单,只需要
- 将计算密集的部分封装为函数
- 将装饰器
@numba.jit应用到该函数
使用一些成熟的包
某次需要处理dcd文件(某些分子动力学软件生成的二进制轨迹文件),老师给了一个年代久远的c++项目可以将其转换为纯文本文件,但是在ubuntu
22.04上有boost库的兼容性问题。
搜索后发现MDAnalysis支持该二进制文件的读写,更优雅,更高效,并且能够避免产生大量的中间文件(大概有几十个G)