gpt4 book ai didi

python - 选择 pandas groupby 数据框的子集,其中多个键具有值

转载 作者:行者123 更新时间:2023-11-28 18:45:18 25 4
gpt4 key购买 nike

我有一个看起来像这样的值数据框:

    mode   journey  stage
0 BUS 1 1
1 RTS 1 2
2 BUS 2 1
3 RTS 3 1
4 BUS 3 2
5 BUS 4 1

我做了一个 groupby ['journey','mode'] 并获得了这个:

g=df.groupby(['journey','mode'])  
g.size()

journey mode
1 BUS 1
RTS 1
2 BUS 1
3 RTS 1
BUS 1
4 BUS 1

我想确定同时涉及 BUS 和 RTS 的旅程,因此在这种情况下,结果应该返回旅程 1 和 3。我可以知道如何做到这一点吗?谢谢。

最佳答案

可以单独按旅程分组,然后检查每个组是否包含多个阶段:

>>> df.groupby('journey')['mode'].apply(lambda g: len(g)>1)
journey
1 True
2 False
3 True
4 False
dtype: bool

如果您的数据包含其他模式并且您特别需要检查涉及“BUS”和“RTS”的模式,您可以进行更明确的检查:

>>> d.groupby('journey')['mode'].apply(lambda g: 'BUS' in g.values and 'RTS' in g.values)
journey
1 True
2 False
3 True
4 False
dtype: bool

不过,基本思想是,如果你想找到“涉及某某的旅程”,你应该只按旅程分组,然后为每个组计算它是否符合某某条件.

关于python - 选择 pandas groupby 数据框的子集,其中多个键具有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21375206/

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