第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何匹配字典值中的字符串和子字符串

如何匹配字典值中的字符串和子字符串

嗶嗶one 2023-06-27 16:32:25
我有以下函數(shù)來(lái)檢測(cè)數(shù)據(jù)中的字符串,我加入了字典的鍵和值,因?yàn)槲蚁胝业竭@兩個(gè)值。我添加了 ^ 和 $ 因?yàn)槲抑幌胍_匹配。功能import pandas as pddef check_direction(df):    # dict for all direction and their abbreviation    direction = {        '^Northwest$': '^NW$',        '^Northeast$': '^NE$',        '^Southeast$': '^SE$',        '^Southwest$': '^SW$',        '^North$': '^N$',        '^East$': '^E$',        "^South$": '^S$',        "^West$": "^W$"}    # combining all the dict pairs into one for str match    all_direction = direction.keys() | direction.values()    all_direction = '|'.join(all_direction)    df = df.astype(str)    df = pd.DataFrame(df.str.contains(all_direction, case = False))    return df我對(duì)以下系列進(jìn)行了測(cè)試,結(jié)果按預(yù)期工作:tmp = pd.Series(['Monday', 'Tuesday', 'Wednesday', 'Thursday'])check_direction(tmp)0   False1   False2   False3   Falsetmp = pd.Series(['SOUTH', 'NORTHEAST', 'WEST'])check_direction(tmp)0   True1   True2   True但是我在這里遇到了問(wèn)題:tmp = pd.Series(['32 Street NE', 'Ogden Road SE'])check_direction(tmp)0   False1   False由于 NE 和 SE,當(dāng)它應(yīng)該為 True 時(shí),兩者都返回為 false,我該如何修改我的代碼來(lái)實(shí)現(xiàn)這一點(diǎn)?
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

我認(rèn)為您誤解了^和 的$意思。

  • ^匹配整個(gè)字符串的開(kāi)頭,

  • $匹配整個(gè)字符串的結(jié)尾。

例如,'Ogden Road SE'不匹配模式^SE$,因?yàn)樽址灰?開(kāi)頭SE。

您可能打算使用單詞邊界,即\b.

所以你應(yīng)該改為^SE$,\bSE\b等等。

您可以通過(guò)編寫(xiě)來(lái)使其不那么乏味且更具可讀性

direction = {

    'Northwest': 'NW',

    'Northeast': 'NE',

    'Southeast': 'SE',

    'Southwest': 'SW',

    'North': 'N',

    'East': 'E',

    'South': 'S',

    'West': 'W'}


all_direction = direction.keys() | direction.values()

all_direction = '|'.join(r'\b{}\b'.format(d) for d in all_direction)


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)