我有原始数据,如下例所示。在时刻t1,变量具有值x1,当且仅当其值不等于x1时,该变量应在时刻t2记录。有一种方法可以将python中数据帧中的值与之前的值进行比较,如果相同,则将其删除。我尝试了跟随功能,但它没有用。请帮助。
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
答案 0 :(得分:1)
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