回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两个文件矩阵,看起来像这样</p>
<p>文件1:</p>
<pre><code>{'key1',g,l,i,o,+: [0.0, 0.0, 0.92, 0.02, 0.01],'key2',g,l,i,o,+: [0.1, 0.2, 0.90,
0.26, 0.10].....'key100',g,l,i,o,+: [0.1, 0.1, 0.29, 0.19, 0.20]}
</code></pre>
<p>文件2:</p>
<pre><code>{'key1',g,l,i,o,+: [0.0, 0.0, 0.96, 0.06, 0.01],'key2',g,l,i,o,+: [0.0, 0.1, 0.95,
0.26, 0.11].....'key100',g,l,i,o,+: [0.2, 0.0, 0.23, 0.16, 0.21]}
</code></pre>
<p>两个文件都有相同的“密钥”。我想平均两个文件之间的值,因此结果文件如下所示:</p>
<p>所需的输出文件:</p>
<pre><code>{'key1',g,l,i,o,+: [0.0, 0.0, 0.94, 0.04, 0.01],'key2',g,l,i,o,+: [0.05, 0.15, 0.925,
0.26, 0.105].....'key100',g,l,i,o,+: [0.15, 0.1, 0.29, 0.175, 0.205]}
</code></pre>
<p>我曾经考虑过我可以编写的python脚本,但由于我对这一点非常陌生,因此欢迎您提出任何快速的想法:</p>
<pre><code>import gzip
import numpy as np
inFile1 = gzip.open('/home/file1')
inFile2 = gzip.open('/home/file2')
inFile.next()
for line in inFile:
cols = line.strip().split('\t')
data = cols[6:]
for line in inFile2:
cols = line.strip().split('\t')
data2 = cols[6:]
newdata = (data + data2)/2
</code></pre>