如何在Python/pandas中基于前缀从字符串中提取特定值?

2024-09-28 22:34:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在熊猫数据框中有一列,其中每个值都是一个长文本字符串。在该文本的某个地方,我可能有也可能没有一个带有某个前缀(“IFL”或“IFN”)的对象编号,我需要将其提取并添加为自己的列

数据如下所示:

Description
12753, IFL12329-1, Supply Chain, (May)
120873, [send], 7385876, (June), IFN1228-3

预期结果:

Description                                     Object Number
12753, IFL12329-1, Supply Chain, (May)          IFL12329-1
120873, [send], 7385876, (June), IFN1228-3      IFN1228-3

前缀必须包含在新的列中,使它变得困难的是,它是两个不同的前缀条件,它们每次都在不同的位置(有时在字符串的中间,在结束时的其他时间)。p>


Tags: 数据对象字符串文本sendchain地方description
1条回答
网友
1楼 · 发布于 2024-09-28 22:34:08

使用带有str.extract的正则表达式

df['object']= df['Description'].str.extract('((IFN|IFL)\d+-\d)')[0]

print(df)


                                  Description      object
0      12753, IFL12329-1, Supply Chain, (May)  IFL12329-1
1  120873, [send], 7385876, (June), IFN1228-3   IFN1228-3

相关问题 更多 >