提取部分字符串匹配直到一列中的特定字符

问题描述 投票:0回答:2

我想从一列行中提取匹配部分字符串匹配的字符串,直到遇到特定字符为止。

我希望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
python pandas dataframe slice
2个回答
0
投票

您可以使用正则表达式模式:

df['column_3'].str.extract('([String_].*);')[0]

输出:

0    String_123
1    String_463
2    String_103
Name: 0, dtype: object

0
投票

运行:

df.column_3.str.extract(r'(?P<Str>String_[^;]+)')

extract方法匹配捕获组。为了识别起见,我给这个组命名,它将是输出列的名称。

© www.soinside.com 2019 - 2024. All rights reserved.