如何将pandas dataframe行保持在给定序列中的列值出现的位置?

发布于 2025-01-19 19:01:11 字数 493 浏览 1 评论 0原文

我有一个像这样的数据框: 输入图片此处的描述

我只想将学生状态在任何连续 2 个月内从“不及格”更改为“通过”的行突出显示为绿色。在这种情况下如何删除突出显示为红色的行?我不知道如何在熊猫中做到这一点。

在第二步中,我将有一个像这样的数据框: 输入图片这里的描述

我只想计算上个月失败之前的通过次数(如红色文本所示)。那么,如果上个月未通过考试,那么每个月都会对通过考试的学生进行唯一计数吗? 我很困惑如何使用 pandas 来实现这种方法。

I have a dataframe like this:
enter image description here

I only want to keep rows highlighted green where students status change from Fail to Pass in any 2 consecutive months. How can i drop the rows highlighted red with this condition? I can`t figure out how to do this in pandas.

In the second step where i will have a dataframe like this:
enter image description here

I only want to count passes which are preceded by a fail in previous month (as in red text). So like get unique count of passed students each month if they failed in the previous month?
I am confused how to go about this approach using pandas.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

分分钟 2025-01-26 19:01:11

我想你需要使用“shift”来比较后续值

df['FailToPass'] = ((df == 'Pass') & ((df.shift(axis=1)) == 'Fail')).any(axis=1)

I guess you would need to work with 'shift' to compare subsequent values

df['FailToPass'] = ((df == 'Pass') & ((df.shift(axis=1)) == 'Fail')).any(axis=1)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文