我想对由行分隔的数据块组成的dataframe执行排序。应该对每个数据块单独执行排序,这样我就可以得到列2的最大值。下面是一个例子:
| ID|第1栏|第2栏|
| --------------|--------------|--------------|
| 案例1|||
| 1|1|七|
| 二|二|二|
| 三|三|四|
| 案例二|||
| 1|1|四|
| 二|二|六|
| 三|三|三|
我想知道是否有可能执行这样的排序,然后在每种情况下获得具有最高值的行?我希望得到如下结果:
| ID|第1栏|第2栏|
| --------------|--------------|--------------|
| 案例1|||
| 1|1|七|
| 三|三|四|
| 二|二|二|
| 案例二|||
| 二|二|六|
| 1|1|四|
| 三|三|三|
| 摘要|||
| 案件|ID|列2的值|
| 1|1|七|
| 二|二|六|
有没有可能在Pandas中做到这一点,或者我需要使用xarray吗?如果需要使用xarray,那么有没有什么聪明的方法将dataframe转换为xarray对象?我已经尝试将dataframe移动到xarray,但是我不太明白这是如何工作的。
最好的问候!
1条答案
按热度按时间cgfeq70w1#
您可以对
groupby.idxmax
和concat
使用自定义聚合:输出: