回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个数据帧,如下所示:</p>
<pre><code>col1=[1,1,1,2,2,2,3,3,3]
col2=['a','b','c','d','e','f','g','h','i']
col3=[1,2,3,2,3,1,3,1,2]
d={
"col1":col1,
"col2":col2,
"col3":col3
}
dummy= pd.DataFrame(d)
</code></pre>
<p>因此,数据框如下所示:</p>
<p><a href="https://i.stack.imgur.com/xmCbA.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/xmCbA.png" alt="dummy data"/></a></p>
<p>我想根据col1对所有值进行分组,并根据col3的排序(递减ord)得到col2的值,即,我希望最终结果如下:
col2=[c,b,a,e,d,f,g,i,h]
我已经尝试了以下方法,它们以升序排列在col2中:</p>
<pre><code>res=dummy.groupby(['col1','col3'])['col2'].apply(sorted).reset_index()
</code></pre>
<p>但是上面的结果是[[a]、[b]、[c]…]。我不希望每个元素本身都是一个列表。我如何颠倒顺序?任何帮助都将不胜感激。多谢各位</p>