Python pandas extract,如何提取字符串的剩余部分

时间:2016-08-15 09:46:39

标签: 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,但我想带来字符串的最后一个字母SW,这应该导致ENGLANDSRSW 1}},意味着只删除数字11

我该怎么做?

1 个答案:

答案 0 :(得分: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