温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - How to drop_duplicates
python duplicates

python - 如何drop_duplicates

发布于 2020-03-27 11:59:03

我有原始数据,如下例。在时刻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

查看更多

查看更多

提问者
NguyenTram
被浏览
24
DYZ 2017-06-08 05:39
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