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

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

當(dāng)它們相似時(shí)替換兩列中的值

當(dāng)它們相似時(shí)替換兩列中的值

HUX布斯 2022-06-02 15:40:14
我有 2 列;名稱和品牌名稱。第一列包含產(chǎn)品名稱等值,而第二列是產(chǎn)品的品牌名稱。在某些情況下,它們的名稱相似——例如,可口可樂。在上圖中,您可以確切地看到我在說什么。我將留下一段代碼用于測(cè)試目的:data = [['Coca Cola', 'Coca Cola'], ['Coca Cola cherry', 'Coca Cola'], ['Coca Cola life', 'Coca Cola'], ['Coca Cola Life', 'Coca Cola']]testdf = pd.DataFrame(data, columns = ['Name', 'BrandName'])我要做的是將列BrandName中的每個(gè)值設(shè)置為“未知”,只要產(chǎn)品名稱包含與品牌名稱相同的單詞。以上圖為例。我只能使用以下代碼將第一行的品牌名稱設(shè)置為“未知”:testdf["BrandName"] = np.where(testdf["Name"] == testdf["BrandName"], "Unknown", testdf["BrandName"])但是,我還沒有弄清楚如何以某種方式設(shè)置條件,因此當(dāng)Name包含列BrandName的全部?jī)?nèi)容時(shí),后者的值變?yōu)椤拔粗薄?
查看完整描述

2 回答

?
一只名叫tom的貓

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

您可以將自定義 lambda 函數(shù)從這里傳遞給np.where:


import re


f = lambda x: bool(re.search(r'\b{}\b'.format(x['BrandName']), x['Name']))


testdf['match'] = np.where(testdf.apply(f, axis = 1), "Unknown", testdf["BrandName"])

print (testdf)

               Name  BrandName    match

0         Coca Cola  Coca Cola  Unknown

1  Coca Cola cherry  Coca Cola  Unknown

2    Coca Cola life  Coca Cola  Unknown

3    Coca Cola Life  Coca Cola  Unknown


查看完整回答
反對(duì) 回復(fù) 2022-06-02
?
蕭十郎

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

這是使用 的一種mask方法apply:


testdf['BrandName'] = (testdf.BrandName.mask(testdf.apply(

                                             lambda x: x.BrandName in x.Name, axis=1), 

                                             'Unkown'))


           Name      BrandName

0         Coca Cola    Unkown

1  Coca Cola cherry    Unkown

2    Coca Cola life    Unkown

3    Coca Cola Life    Unkown


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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