我有一本字典,其中包含以下与“伦敦”相关的键作为值。我遇到的问题是我想检查列值是否包含我的键值。因此,邮政编码值应映射到“伦敦”,但它们目前映射到“所有其他”。换句话说,邮政编码“SW4 7SS”中有“SW4”,因此应该映射到“伦敦”,但是,它目前正在使用我的代码映射到“所有其他”。我只有一个映射可用于字典中的当前键。请告知如何处理熊猫。postal_code= {'SE10':'London','SW4':'London','SW9':'London','SW18':'London',' ': 'All Other'}Postal CodeSW4 7SSSW4 6QDSW4 7UDdf['Region']=df['Postal Code'].map(postal_code)
1 回答

UYOU
TA贡献1878条经验 获得超4个赞
首先在正则表达式中dict.keys加入|which is operator。or然后用于Series.str.extract从您的列中提取这些值。最后使用Series.map将值映射到您的字典:
regex = '|'.join(postal_code.keys())
df['Region'] = df['Postal Code'].str.extract(f"({regex})")[0].map(postal_code)
Postal Code Region
0 SW4 7SS London
1 SW4 6QD London
2 SW4 7UD London
添加回答
举报
0/150
提交
取消