擅长:python、mysql、java
<p>我会使用agg函数和tolist()</p>
<pre><code>df = pd.DataFrame({'node':[1,2,3,3,3,5,5],'lang':['it','en','ar','ar','es','uz','es']})
# Getting the unique langs / node
a = df.groupby('node')['lang'].unique().reset_index(name='langs')
# Getting the frequency of lang / node
b = df.groupby('node')['lang'].value_counts().reset_index(name='lfreq')
</code></pre>
<p>更换</p>
^{pr2}$
<p>与</p>
<pre><code>c = b.groupby('node').agg({'lfreq': lambda x: x.tolist()}).reset_index()
d = pd.merge(a,c,on='node')
</code></pre>
<p>还有维奥拉:</p>
<pre><code> node langs lfreq
0 1 [it] [1]
1 2 [en] [1]
2 3 [ar, es] [2, 1]
3 5 [uz, es] [1, 1]
</code></pre>