擅长:python、mysql、java
<p>您可以使用一个高效的基于<code>repeat</code>的解决方案,后跟<code>groupby</code>:</p>
<pre><code>from itertools import chain
# Step 1 - flatten your dataframe
df = pd.DataFrame({
'group' : df['group'].repeat(df.sequence.str.len()),
'char' : list(chain.from_iterable(df.sequence.tolist()))
})
# Step 2 - filter out characters and groupby on `group`
df[df.char.str.isalpha()].groupby(['group', 'char']).size().reset_index(name='freq')
</code></pre>
<p/>
^{pr2}$