亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在被映射的列包含較大字符串的情況下將字典中的鍵映射到值

在被映射的列包含較大字符串的情況下將字典中的鍵映射到值

慕尼黑8549860 2022-12-20 09:47:29
我有一本字典,其中包含以下與“倫敦”相關的鍵作為值。我遇到的問題是我想檢查列值是否包含我的鍵值。因此,郵政編碼值應映射到“倫敦”,但它們目前映射到“所有其他”。換句話說,郵政編碼“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


查看完整回答
反對 回復 2022-12-20
  • 1 回答
  • 0 關注
  • 86 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號