大熊猫从列中提取子字符串

时间:2020-06-18 09:13:39

标签: python pandas

假设我有一个df

df = pd.DataFrame({'col': ['ABCXDEF', 'ABCYDEF']})

如何提取ABC和第一次出现的DEF包围的字符串?所需的输出:

    col
0   X
1   Y

请注意,我不需要基于精确位置的解决方案,例如:

df.col.str[3:4]

1 个答案:

答案 0 :(得分:3)

(更新:查找“ DEF”的首次出现) 使用此正则表达式:

df = pd.DataFrame({'col': ['ABCXDEF', 'ABCYDEFDEFDEF']})
print(df.col.str.extract(r"ABC(.*?)DEF"))

结果是:

   0
0  X
1  Y