<p>首先将具有元组的列转换为新的2列(不要使用<code>apply(pd.Series)</code>,因为<a href="https://stackoverflow.com/questions/35491274/pandas-split-column-of-lists-into-multiple-columns/35491399#35491399">^{<cd2>}</a>),然后按<a href="http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing" rel="nofollow noreferrer">^{<cd4>}</a>中的<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.isin.html" rel="nofollow noreferrer">^{<cd3>}</a>筛选匹配的值,并将<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.GroupBy.apply.html" rel="nofollow noreferrer">^{<cd5>}</a>中的值转换为元组列表:</p>
<pre><code>s = {'DNA',
'pada',
'yang'}
df[['s', 'v']] = pd.DataFrame(df['bigramf'].tolist(), index=df.index)
s = df[df['s'].isin(s)].groupby('s')['v','freq'].apply(lambda x: list(map(tuple, x.values)))
print (s)
s
DNA [(yang, 15), (dalam, 6), (ini, 5), (memiliki, ...
pada [(DNA, 4), (urutan, 3), (sejumlah, 2), (RNA, 2...
yang [(diperoleh, 3), (lebih, 3), (berbeda, 2), (sa...
dtype: object
</code></pre>
<p>如果需要,请添加<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.to_dict.html" rel="nofollow noreferrer">^{<cd6>}</a>:</p>
<pre><code>d = s.to_dict()
print (d)
{'DNA': [('yang', 15), ('dalam', 6), ('ini', 5), ('memiliki', 4), ('unting', 4)],
'pada': [('DNA', 4), ('urutan', 3), ('sejumlah', 2), ('RNA', 2), ('satu', 2)],
'yang': [('diperoleh', 3), ('lebih', 3), ('berbeda', 2), ('sama', 2), ('tumpang', 2)]}
</code></pre>
<p>使用<a href="https://docs.python.org/3/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">^{<cd7>}</a>的另一种解决方案:</p>
<pre><code>from collections import defaultdict
d = defaultdict(list)
for (s1, v1), f1 in df.to_numpy():
if s1 in s:
d[s1].append((v1, f1))
d = dict(d)
print (d)
{'DNA': [('yang', 15), ('dalam', 6), ('ini', 5), ('memiliki', 4), ('unting', 4)],
'pada': [('DNA', 4), ('urutan', 3), ('sejumlah', 2), ('RNA', 2), ('satu', 2)],
'yang': [('diperoleh', 3), ('lebih', 3), ('berbeda', 2), ('sama', 2), ('tumpang', 2)]}
</code></pre>