首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只保留一个值的第一个外观,直到它更改为另一个值为止。

只保留一个值的第一个外观,直到它更改为另一个值为止。
EN

Stack Overflow用户
提问于 2020-01-22 16:32:03
回答 1查看 238关注 0票数 1

我有一组数据看起来如下:

代码语言:javascript
复制
 id      mz_id      time        duration
  1        a        0:00           0:10
  1        a        0:01           0:10
  1        a        0:05           0:10
  1        a        0:07           0:10
  1        a        0:09           0:10
  1        b        5:10           1:10
  1        b        15:10          1:10
  1        b        35:10          1:10
  1        a        1:10:05        0:15
  1        a        1:20:07        0:15
  1        b        2:10:05        1:10
  1        c        3:20:07        0:15

以此类推。

我希望保持值mz_id的第一次外观,如下所示:

代码语言:javascript
复制
 id      mz_id      time        duration
  1        a        0:00           0:10
  1        b        5:10           1:10
  1        a        1:10:05        0:15
  1        b        2:10:05        1:10
  1        c        3:20:07        0:15

这对mz_id和持续时间并不是唯一的,我不知道在这种情况下如何删除.我删除的重复项应该只基于-始终保持mz_id的第一性能,直到它改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 16:33:51

IIUC,使用助手系列和groupby+first

代码语言:javascript
复制
df.groupby(df['mz_id'].ne(df['mz_id'].shift()).cumsum()).first().reset_index(drop=True)

代码语言:javascript
复制
   id mz_id     time duration
0   1     a     0:00     0:10
1   1     b     5:10     1:10
2   1     a  1:10:05     0:15
3   1     b  2:10:05     1:10
4   1     c  3:20:07     0:15

详细信息:检查下一行是否与当前行相同,然后执行cumsum()将组分配给每个已更改的组,然后按该系列进行分组并首先返回

代码语言:javascript
复制
df['mz_id'].ne(df['mz_id'].shift())

代码语言:javascript
复制
0      True
1     False
2     False
3     False
4     False
5      True
6     False
7     False
8      True
9     False
10     True
11     True

因此,对于在下一行中具有相同值的所有第一行,这将返回true。

但是,正如@Datanovice所指出的那样,在您的示例中,下面的内容也会起作用,因为您只是占据了第一行。

代码语言:javascript
复制
df[df['mz_id'].ne(df['mz_id'].shift())]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59864259

复制
相关文章

相似问题

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