python - .map 删除我的列中未在映射中指定的值
问题描述
我的 pandas 数据框中的一列中有多种值。其中包括 LIMITED LIABILITY CORP、CORPORATION、LIMITED LIABILITY PARTNER、Limited Liability Corporation
我要做的就是重命名一些等效但调用方式不同的值。因此,在这里我想将 Limited Liability Corporation 重命名为 LIMITED LIABILITY CORP,与 Partnership 相同。
这是我使用 map 编写的代码:
Leads_updated['Business_Type'] =
Leads_updated['Business_Type'].map({'Limited Liability Corporation':
'LIMITED LIABILITY CORP', 'Limited Liability Partnership':'LIMITED LIABILITY
PARTNER'})
现在,它确实正确地更改了我想要更改的值,但是,我的代码中还有其他值没有更改,例如“Corporation”,这些值现在从我的 pandas 数据框列中消失了。
为什么会这样,我该如何解决?谢谢!
解决方案
这是 的预期行为map
。听起来您正在寻找,replace
如果它不在您的字典键中,它将保持值不变:
Leads_updated['Business_Type'].replace({'Limited Liability Corporation': 'LIMITED LIABILITY CORP', 'Limited Liability Partnership':'LIMITED LIABILITY PARTNER'})
推荐阅读
- selenium - Selenium-如何处理光标跳跃问题
- javascript - 在 JavaScript 中将数组转换为字符串时删除未定义的元素
- python - 如何在 Twitter 的 30 天沙盒搜索中修复错误代码 403?
- python - django rest框架序列化字典而不创建模型
- php - Docker 容器中的 Web 应用程序,在 Apache Webserver 上,LDAP 模块出现“caught SIGTERM”错误
- html - 有人能告诉我为什么 a:hover 不起作用吗?
- javascript - child_process.spawn 从不触发“关闭”事件
- html - 很难在滚动时创建固定标题。典型的解决方案不再适合我
- rest - Springboot 2:有什么方法可以将 TestRestTemplate 配置为仅使用 HTTP/2 协议?
- django - Django:bulk_destroy 返回“400:错误请求”