Python 如何删除重复项
我有如下示例中的原始数据。在瞬间t1,变量的值为x1,当且仅当其值不等于x1时,应在瞬间t2记录该变量。有一种方法可以将python中dataframes中的值与之前的值进行比较,如果相同,则将其删除。我尝试了跟踪功能,但不起作用。请帮助Python 如何删除重复项,python,duplicates,Python,Duplicates,我有如下示例中的原始数据。在瞬间t1,变量的值为x1,当且仅当其值不等于x1时,应在瞬间t2记录该变量。有一种方法可以将python中dataframes中的值与之前的值进行比较,如果相同,则将其删除。我尝试了跟踪功能,但不起作用。请帮助 df time Variable Value 2014-07-11 19:50:20 Var1 10 2014-07-11 19:50:30 Var1 20 2014-07-11 19:50:40
df
time Variable Value
2014-07-11 19:50:20 Var1 10
2014-07-11 19:50:30 Var1 20
2014-07-11 19:50:40 Var1 20
2014-07-11 19:50:50 Var1 30
2014-07-11 19:50:60 Var1 20
2014-07-11 19:50:70 Var2 50
2014-07-11 19:50:80 Var2 60
2014-07-11 19:50:90 Var2 70
编码:
for y in df.time:
for x in df.Value:
if y == y:
if x == x:
df1 = df.drop_duplicates(subset = ['time', 'Variable', 'Value'], keep=False)
else:
df1 = df.drop_duplicates(['time', 'Variable', 'Value'])
预期产出:
df
time Variable Value
2014-07-11 19:50:20 Var1 10
2014-07-11 19:50:30 Var1 20
2014-07-11 19:50:50 Var1 30
2014-07-11 19:50:60 Var1 20
2014-07-11 19:50:70 Var2 50
2014-07-11 19:50:80 Var2 60
2014-07-11 19:50:90 Var2 70
当您对数据帧应用for循环或任何其他循环时,99%的情况下您做错了。您有什么想法吗?谢谢。那么,为什么我们只取了2个子集,而得到了3个子集呢?您不希望相同的变量具有相同的值。非常感谢。你的答案是可行的,但我的数据中有一个问题,在t3时刻,相同的var1,值3与值1相同,我想将值3保持在var1,在t3,因为它与t1不连续。我更新了我的数据。这是一个不同的问题,需要不同的答案。谢谢。我会提出另一个问题。
df.drop_duplicates(subset=['Variable','Value'],keep='first')
# time Variable Value
#2014-07-11 19:50:20 Var1 10
#2014-07-11 19:50:30 Var1 20
#2014-07-11 19:50:50 Var2 30
#2014-07-11 19:50:60 Var2 40
#2014-07-11 19:50:70 Var2 50