gpt4 book ai didi

Python-Pandas,过滤器取组中的最后一个元素,然后取组中的第一个元素

转载 作者:行者123 更新时间:2023-12-01 02:48:01 25 4
gpt4 key购买 nike

从这里跟进问题:drop first and last row from within each group

在 pandas 中,如何删除第一个组中的最后一行,然后删除该组中所有后续条目的第一行?

例如

      X   Y
a a 0 1
a 2 3
c 4 5
d 6 7
b e 8 9
f 10 11
g 12 13
c h 14 15
i 16 17
d j 18 19

我想要这个

    X   Y
a d 6 7
b e 8 9
c h 14 15
d j 18 19

最佳答案

首先检查第一级的第一个值get_level_values然后groupbyapply - 第一组 tail以及所有其他 head :

first = df.index.get_level_values(0)[0]
df = df.groupby(level=0, sort=False, group_keys=False)
.apply(lambda x: x.tail(1) if x.name == first else x.head(1))
print (df)
X Y
a d 6 7
b e 8 9
c h 14 15
d j 18 19

关于Python-Pandas,过滤器取组中的最后一个元素,然后取组中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com