您将如何解释此代码?
variable_name = df[df.column_name.shift() != df.column_name].reset_index()
答案 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应用于数据框。这种方法基本上消除了系列数据中的重复值,但只保留了第一个。