计算python列中两个字符出现的次数

Count the number of occurrences of two characters in python column

我有一个数据框 (df),其中包含表示区域代码的变量 Area。我需要找到 Z 后跟 X 的出现次数 在以下示例中,Z->X 重复两次,这意味着计数为 2

Area
Z
A
B
Z
X
A
B
Z
X

我已尝试通过以下方式找到 True/False

    df.Area.str.contains(r'Z|X')

我确信这是错误的方法,因为它没有给我想要的结果。还有其他方法吗?

需要shift()函数,将period参数指定为-1,让级数向前移动一步,保证Z后跟X:

((df.Area == "Z") & (df.Area.shift(-1) == "X")).sum()
# 2

进一步了解 shift 的工作原理:

df["Area_shift"] = df.Area.shift(-1)

df
#  Area  Area_shift
# 0   Z           A
# 1   A           B
# 2   B           Z
# 3   Z           X
# 4   X           A
# 5   A           B
# 6   B           Z
# 7   Z           X
# 8   X         NaN