实验数据处理与分析
本文最后更新于: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)