python - 提取字符串并将其从提取的列 pandas 中删除

标签 python pandas

import pandas as pd
df=pd.DataFrame({'A':['my text your text']})

我想提取 A 列中的部分字符串,即 my textB 列,并将其从 A 提取后。

在这种情况下,我要做的第一件事是适本地创建 B 列,然后从 A 中减去 B,但是有没有更好的解决方案来做到这一点?

df['B']=df['A'].str.extract('(my text)') 
df
                   A        B
0  my text your text  my text

预期输出:

             A        B
0    your text  my text

最佳答案

使用Series.str.replace使用 \s* 删除尾随空格,使用 n=1 仅替换第一个匹配项:

df['B']=df['A'].str.extract('(my text)') 
df['A']=df['A'].str.replace('\s*(my text)\s*','', n=1)
print (df)
            A        B
0   your text  my text

关于python - 提取字符串并将其从提取的列 pandas 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61320227/

相关文章:

python - Pandas 数据框操作

python - 在 Pandas 中,如何在 groupby.agg() 方法中应用 2 个自定义公式?

python - 如何在 pandas HDF5 'read-only mode' 文件之上写入?

python - 创建一个可以计算分数的列

Python3.7 Pandas1.0.1 Dataframe - 计算范围内的列总和并重新组合为一个新行?

python - ValueError : jpeg is required unless explicitly disabled using --disable-jpeg, 中止

python - 从嵌套字典列表中删除重复值

python - 如何在 tf.keras 中屏蔽 lstm 的输入

python - 使用Selenium解决无限滚动问题

pandas - 使用 Pandas 将一行中的多个值拆分为多行