首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何逐个遍历Pandas列并检测另一列中的更改?

如何逐个遍历Pandas列并检测另一列中的更改?
EN

Stack Overflow用户
提问于 2020-08-27 02:02:30
回答 1查看 35关注 0票数 1

我不知所措,不知道该怎么办,我希望有人能帮忙。

我有一个包含personID、sportPlayed和date的数据集。我需要循环通过每个人(personID),只返回那些打过篮球,然后踢过足球的人。在下面的示例中,将只返回personID 1和personID 3。personID 4玩足球,但他们不会被退还,因为他们以前玩过足球,而不是篮球。

你知道怎么解决这个问题吗?谢谢!

代码语言:javascript
运行
复制
personID     sportPlayed     date
1            Basketball      2020-01-01
1            Basketball      2020-01-02 
1            Football        2020-03-01
2            Baseball        2020-02-05
2            Baseball        2020-03-05
3            Basketball      2020-04-01
3            Football        2020-05-05
4            Soccer          2020-02-01
4            Football        2020-02-06
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 02:08:06

找出某人打篮球的最早日期,然后检查这是否在他们踢足球的最后日期之前。然后过滤序列并获得索引。

不具备这两项的人不会出现在输出中,但是如果你只关心那些True的玩家,那就没问题了。

代码语言:javascript
运行
复制
s = (df[df['sportPlayed'].eq('Basketball')].groupby('personID').date.min()
      .lt(df[df['sportPlayed'].eq('Football')].groupby('personID').date.max()))

#personID
#1     True
#3     True
#4    False
#Name: date, dtype: bool

s[s].index
#Int64Index([1, 3], dtype='int64', name='personID')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63603321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档