Python:您如何解释包含reset_index和shift方法的代码

时间:2019-06-19 16:48:20

标签: python shift

您将如何解释此代码?

variable_name = df[df.column_name.shift() != df.column_name].reset_index()

1 个答案:

答案 0 :(得分:0)

假设您具有以下数据:

import pandas as pd
df = pd.DataFrame({'Col1': [10, 20, 15, 30, 45],
                    'Col2': [13, 23, 18, 33, 48],
                    'Col3': [17, 27, 27, 37, 52]})

您将看到Col3如何具有重复值27。 在Col3上应用shift时,结果为:

0     NaN
1    17.0
2    27.0
3    27.0
4    37.0

因此,当您对此应用布尔等效测试时,会得到:

0     True
1     True
2    False
3     True
4     True

然后,在DF上应用布尔掩码,瞧,第二个27消失了。但是您的索引现在不正常了,因此您将reset_index应用于数据框。这种方法基本上消除了系列数据中的重复值,但只保留了第一个。