首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去掉pandas中的重复行

问去掉pandas中的重复行
EN

Stack Overflow用户
提问于 2019-11-11 12:17:56
回答 2查看 209关注 0票数 0

我有一些来自计数实验的csv数据,在这个实验中,我得到了一个测量时间以及该时间和前一个测量时间之间的计数次数。由于某种原因,每当我有计数时(有时我没有计数),该行就会重复计数的次数。下面是一个基本的例子:

代码语言:javascript
复制
time counts
t1 0
t2 1
t3 0
t4 3
t4 3
t4 3
t5 0

因此,t4被重复了3次,因为我有3个与之相关的计数,并且对任意数量的计数都会发生这种情况(除了0,在这种情况下,该行只出现一次)。在我的例子中有更多的列,但这两个列才是重要的。有没有一种快速的方法来删除这些冗余的行,并使每个计数只出现一次,即:

代码语言:javascript
复制
time counts
t1 0
t2 1
t3 0
t4 3
t5 0

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2019-11-11 12:22:56

使用删除重复项:

代码语言:javascript
复制
import numpy as np
import pandas as pd

df = pd.DataFrame({'time': ['t1', 't2', 't3', 't4', 't4', 't4', 't5'],
          'counts': [0, 1, 0, 3, 3, 3, 0]})

print(df)
代码语言:javascript
复制
print(df.drop_duplicates())
time  counts
0   t1       0
1   t2       1
2   t3       0
3   t4       3
6   t5       0
票数 0
EN

Stack Overflow用户

发布于 2019-11-11 13:11:43

删除重复项的方法如下,只取某一列即可。

代码语言:javascript
复制
df =  df.drop_duplicates('Column',keep='first')

这将删除重复项,只保留第一个值。

代码语言:javascript
复制
df =  df.drop_duplicates('time',keep='first')

您还可以按升序或降序排列数据,以获得更准确的数据。

代码语言:javascript
复制
df = df.sort_values(by=['Counts'], ascending=[False],na_position='last')
df = df.drop_duplicates('time',keep='first')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58795493

复制
相关文章

相似问题

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