首页 > 解决方案 > .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 数据框列中消失了。

为什么会这样,我该如何解决?谢谢!

标签: pythonpython-3.xpandasdictionary

解决方案


这是 的预期行为map。听起来您正在寻找,replace如果它不在您的字典键中,它将保持值不变:

Leads_updated['Business_Type'].replace({'Limited Liability Corporation': 'LIMITED LIABILITY CORP', 'Limited Liability Partnership':'LIMITED LIABILITY PARTNER'})

推荐阅读