擅长:python、mysql、java
<p>一个解决方案通过一个辅助列</p>
<pre><code>df['pred_cat'] = df['pred'].str.split('-').str[-1]
res = df.groupby(['s', 'pred_cat'])['token']\
.apply(' '.join).reset_index()
print(res)
s pred_cat token
0 17 Loc hakawati theatre jerusalem
1 56 Org university of texas here
2 5402 Peop dwight d. eisenhower
</code></pre>
<p>请注意,这与所需的输出不完全匹配;似乎涉及到一些特定于数据的处理方法</p>