我有一些来自计数实验的csv数据,在这个实验中,我得到了一个测量时间以及该时间和前一个测量时间之间的计数次数。由于某种原因,每当我有计数时(有时我没有计数),该行就会重复计数的次数。下面是一个基本的例子:
time counts
t1 0
t2 1
t3 0
t4 3
t4 3
t4 3
t5 0因此,t4被重复了3次,因为我有3个与之相关的计数,并且对任意数量的计数都会发生这种情况(除了0,在这种情况下,该行只出现一次)。在我的例子中有更多的列,但这两个列才是重要的。有没有一种快速的方法来删除这些冗余的行,并使每个计数只出现一次,即:
time counts
t1 0
t2 1
t3 0
t4 3
t5 0谢谢!
发布于 2019-11-11 12:22:56
使用删除重复项:
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)print(df.drop_duplicates())
time counts
0 t1 0
1 t2 1
2 t3 0
3 t4 3
6 t5 0发布于 2019-11-11 13:11:43
删除重复项的方法如下,只取某一列即可。
df = df.drop_duplicates('Column',keep='first')这将删除重复项,只保留第一个值。
df = df.drop_duplicates('time',keep='first')您还可以按升序或降序排列数据,以获得更准确的数据。
df = df.sort_values(by=['Counts'], ascending=[False],na_position='last')
df = df.drop_duplicates('time',keep='first')https://stackoverflow.com/questions/58795493
复制相似问题