Uni*_*ent 2 python parsing reshape pandas
我想知道在python中解析长格式数据的最佳方法是什么.我之前在R中做过这样的任务,但它确实需要很长时间,因为我的文件可以超过1 GB.这是一些虚拟数据:
Sequence Position Strand Score
Gene1 0 + 1
Gene1 1 + 0.25
Gene1 0 - 1
Gene1 1 - 0.5
Gene2 0 + 0
Gene2 1 + 0.1
Gene2 0 - 0
Gene2 1 - 0.5
Run Code Online (Sandbox Code Playgroud)
但是我希望能够以广泛的形式将它与每个位置的分数相加.这是我希望的输出:
Sequence 0 1
Gene1 2 0.75
Gene2 0 0.6
Run Code Online (Sandbox Code Playgroud)
任何有关如何在概念上解决此类问题的帮助都会非常有用.
当你可以用单线程中的大熊猫做这些解决方案时,这两种解决方案看起来都有些过分:
In [7]: df
Out[7]:
Sequence Position Strand Score
0 Gene1 0 + 1.00
1 Gene1 1 + 0.25
2 Gene1 0 - 1.00
3 Gene1 1 - 0.50
4 Gene2 0 + 0.00
5 Gene2 1 + 0.10
6 Gene2 0 - 0.00
7 Gene2 1 - 0.50
In [8]: df.groupby(['Sequence', 'Position']).Score.sum().unstack('Position')
Out[8]:
Position 0 1
Sequence
Gene1 2 0.75
Gene2 0 0.60
Run Code Online (Sandbox Code Playgroud)
如果您无法将文件加载到内存中,那么其他答案中的核心外解决方案也会起作用.
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |