2016-08-30 98 views
0

我有一個數據框(df),其中變量Area代表區域代碼。我需要找到隨後X 在下面的示例Z-> X被重複兩次,這意味着計數爲2計算python列中兩個字符出現的次數

Area 
Z 
A 
B 
Z 
X 
A 
B 
Z 
X 

我曾嘗試以下找到真/假

對於z OCCURENCES的數量
df.Area.str.contains(r'Z|X') 

我相信這是錯誤的方法,因爲它沒有給我想要的結果。任何其他方式做到這一點?

回答

3

您需要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 
+0

這真的很有幫助!謝謝 – Prasad

相關問題