python删除列_python-从基于另一列的列中删除子字符串

尝试使用一列中的值(作为字符串)来确定要从另一列中删除的内容.列的其余部分必须保持不变.

示例数据:

import pandas as pd

dfTest = pd.DataFrame({

'date': ['190225','190225','190226'],'foo': ['190225-file1_190225','190225-file2_190225','190226-file3_190226']

})

dfTest

结果数据帧:

| date | foo

------------------------------------

0 | 190225 | 190225-file1_190225

1 | 190225 | 190225-file2_190225

2 | 190226 | 190226-file3_190226

我需要创建“ bar”列,其中“ foo”已删除所有“日期”匹配项.

我正在寻找的是:

| date | foo | bar

-----------------------------------------------

0 | 190225 | 190225-file1_190225 | -file1_

1 | 190225 | 190225-file2_190225 | -file2_

2 | 190226 | 190226-file3_190226 | -file3_

需要为“ foo”的每一行删除“日期”列的内容,无论它们出现在开头,中间还是结尾.

我已经尝试了一些类似下面的代码的方法,但是它不起作用.它只是复制原始列而不替换任何内容.请注意,更改正则表达式= False不会影响结果.

dfTest['bar'] = dfTest['foo'].str.replace(str(dfTest['date']),'')

#or (removing .str,gives same result):

#dfTest['bar'] = dfTest['foo'].replace(str(dfTest['date']),'')

两者都导致下表(在“ bar”中完全相同):

| date | foo | bar

-----------------------------------------------------------

0 | 190225 | 190225-file1_190225 | 190225-file1_190225

1 | 190225 | 190225-file2_190225 | 190225-file2_190225

2 | 190226 | 190226-file3_190226 | 190226-file3_190226

如何删除日期列的内容,但保留原始数据?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值