1
from pandas import DataFrame,Series
import pandas as pd
df
text region
The Five College Region The Five College Region
South Hadley (Mount Holyoke College) South Hadley
Waltham (Bentley University), (Brandeis Univer..) Waltham
该区域应从text
中提取。 如果行中包含“(”,删除“(”后的任何内容,然后删除空格 如果该行不包含“(”,保留并复制到该区域 我知道我可以处理它与str.extract
功能。但我在写权正则表达式来自Dataframe的提取字符串
df['Region'] =df['text'].str.extract(r'(.+)\(.*')
这正则表达式不能提取第一串 我也承认,采用分体式functon适用于这个问题
str.split('(')[0]
但我困扰不知道如何把结果放在一列中希望收到涵盖两种方法的答案。
能否请您帮助解释正则表达式 “(ΔP [^ \(] +)\ s * \(*”?我很困惑。 –
@DingruiZhang'?P'是约定来命名提取的组件。这转换成提取的“pd.Series”的名称。 '[^(] +'是一个或多个不是**的字符('。'\ s *(*'是零个或多个空格,后跟零个或多个'('。 –
piRSquared