要比较Pandas列中的前一个和后一个不同的值,可以通过使用shift()函数来实现。以下是一个示例代码:
import pandas as pd
# 创建一个包含重复值的DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 3, 4, 5, 5, 6]})
# 使用shift()函数将列A的值向下平移一个位置
df['previous_A'] = df['A'].shift(1)
# 比较列A的值和平移后的值是否相同
df['is_different'] = df['A'] != df['previous_A']
# 打印结果
print(df)
输出结果如下:
A previous_A is_different
0 1 NaN False
1 2 1.0 True
2 3 2.0 True
3 3 3.0 False
4 4 3.0 True
5 5 4.0 True
6 5 5.0 False
7 6 5.0 True
在上述代码中,首先创建了一个包含重复值的DataFrame。然后使用shift()函数将列A的值向下平移一个位置,并将结果存储在新的列previous_A中。接下来,通过比较列A的值和平移后的值,创建了一个新的列is_different来表示前一个和后一个值是否不同。最后,打印出结果。
在示例中,第一行的previous_A的值为NaN,因为没有前一个值可供比较。而第二行开始,可以看到is_different列中的值表示了前一个和后一个值是否不同。