擅长:python、mysql、java
<p>我们可以对熊猫进行切片和计数,然后每次构造一个计数字典,如:</p>
<pre><code>max_len = jkl.str.len().max()
counts = [jkl.str[i].value_counts() for i in range(max_len)]
df = pd.DataFrame(counts, columns=['A', 'C', 'G', 'T'])
</code></pre>
<p>这给了我们一个数据帧:</p>
<pre><code>>>> df
A C G T
0 1.0 1.0 1.0 NaN
1 1.0 NaN NaN 2.0
2 NaN 1.0 1.0 1.0
3 1.0 1.0 1.0 NaN
</code></pre>
<p>然后我们可以用零填充<code>NaN</code>,并将数据转换成<code>int</code>:</p>
<pre><code>>>> df.fillna(0).astype(int)
A C G T
0 1 1 1 0
1 1 0 0 2
2 0 1 1 1
3 1 1 1 0
</code></pre>
<p>最后,我们可以将此数据帧转换为列表字典:</p>
<pre><code>>>> df.fillna(0).astype(int).to_dict('list')
{'A': [1, 1, 0, 1], 'C': [1, 0, 1, 1], 'G': [1, 0, 1, 1], 'T': [0, 2, 1, 0]}
</code></pre>