为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫:使用另一列作为源替换值

熊猫:使用另一列作为源替换值

料青山看我应如是 2022-12-06 15:17:08
我有一个像这样的数据框:Source    | Description  |Incomes   | Tax 12       |Incomes   | Payment      |Incomes   | Check 152    |Incomes   | Incoming 21  |Incomes   | Receiving    |Payments  | Tax          |Payments  | Incoming 7   |Payments  | Receiving 12 |Payments  | Check        |Payments  | Incoming     |首先,我替换所有包含IncomingorCheck和using的内容:IncomesCheckdf.locSource    | Description  |Incomes   | Incomes      |Incomes   | Payment      |Incomes   | Checks       |Incomes   | Incomes      |Incomes   | Receiving    |Payments  | Receiving 2  |Payments  | Incomes      |Payments  | Receiving 12 |Payments  | Checks       |Payments  | Incomes      |现在我想用相应的值替换与列不匹配Incomes或 不匹配的所有内容,如下所示:ChecksDesciptionSourceSource    | Description  |Incomes   | Incomes      |Incomes   | Incomes      |Incomes   | Checks       |Incomes   | Incomes      |Incomes   | Incomes      |Payments  | Payments     |Payments  | Incomes      |Payments  | Payments     |Payments  | Checks       |Payments  | Incomes      |我该怎么做?我已经尝试df.loc[df['Description'].str.contains('Incomes|Checks')== False] == df['Source']过但没有成功。提前致谢
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

用这个,


mask = df['Description'].str.contains("Incoming|Check")


df.loc[~mask, "Description"] = df.loc[~mask, "Source"]


df['Description'] = df['Description'].str.replace("Incoming.*", "Incomes") \

    .str.replace("Check.*", "Checks")


查看完整回答
反对 回复 2022-12-06
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信