我想从一列行中提取匹配部分字符串匹配的字符串,直到遇到特定字符为止。
我希望column_3中所有以“ String_”开头的字符串,直到“;”字符。
DF包含以下内容:
Column_1 column_2 column_3
A B X;A;B;String_123;C
Y L Y;Q;S;D;F;String_463;F;L;U
P Q K;E;TX;String_103;1;1;D;F
我想要的是这些值:
String_123
String_463
String_103
您可以使用正则表达式模式:
df['column_3'].str.extract('([String_].*);')[0]
输出:
0 String_123
1 String_463
2 String_103
Name: 0, dtype: object
运行:
df.column_3.str.extract(r'(?P<Str>String_[^;]+)')
extract方法匹配捕获组。为了识别起见,我给这个组命名,它将是输出列的名称。