2016-08-30 14 views
0

私は、Areaコードを表す可変領域を持つデータフレーム(df)を持っています。私は Python列の2文字の出現回数をカウントします。

偽/ Xがカウントは2

Area 
Z 
A 
B 
Z 
X 
A 
B 
Z 
X 

であることを意味している2回繰り返し、Z->私は次のように真見つけることを試みてきた次の例ではX 続いZのために出現箇所の数を見つける必要があります

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

私はこれが私に望ましい結果をもたらさなかったので、間違ったアプローチであると確信しています。それを行う他の方法?

答えて

3

あなたが前進シリーズ一歩をシフトする-1するperiodパラメータを指定し、shift()機能を必要とし、これはZXが続いていることを保証:

((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

関連する問題