2016-08-15 6 views
0

私は何時間も探していますが、これは簡単なはずです。私は文字列からすべての文字を混ぜ合わせたり、数字と文字で抽出しようとしています。次に例を示します。Python pandas extract、文字列の残りの部分を抽出する方法

df = pd.Series(['ENGLANDSR11SW']) 
df = df.to_frame('column') 
df['ValueAfterExtract'] = df['column'].str.extract("(?P<letter>[a-zA-Z]+)") 
print(df) 

データフレーム内の文字列値ENGLANDSR11SWから、結果はENGLANDSRですが、私はENGLANDSRSWになるはずであるSWある文字列の最後にも手紙を持って帰りたいと思う、唯一の意味します数字11が削除されます。

どうすればいいですか?

答えて

3

空の文字列にすべての桁(\d)を置き換えます。

In [6]: df['column'].str.replace(r'\d', '') 
Out[10]: 
0 ENGLANDSRSW 
Name: column, dtype: object 

または、正規表現を使用[^a-zA-Z][a-zA-Z]にないすべてのものを削除します。たとえば、空白や句読記号、数字は削除されます。

In [20]: df['column'].str.replace(r'[^a-zA-Z]', '') 
Out[20]: 
0 ENGLANDSRSW 
Name: column, dtype: object 
+0

大変ありがとうございます@unutbu – Jeff

関連する問題