在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/人工智能  數(shù)據(jù)分析&挖掘  Python/ pandas如何高效匹配兩個(gè)數(shù)據(jù)表

pandas如何高效匹配兩個(gè)數(shù)據(jù)表

我有兩個(gè)數(shù)據(jù)表,s1是100萬的商品數(shù)據(jù),s2是4000的品牌數(shù)據(jù),任務(wù)是給商品數(shù)據(jù)里打上品牌標(biāo)簽,我用pandas處理

def matchStr(x):
    s = s1[s1["product_name"].str.contains(x,na=False)]
    #然后給s添加一列品牌名就好

s2["brand_name"].apply(matchStr) 

這樣做可以實(shí)現(xiàn),但是平均處理一個(gè)品牌名是3秒左右,4000個(gè)要3個(gè)多小時(shí)才能完成,請(qǐng)問如何更高效的處理這個(gè)啊

回答
編輯回答
傲寒

先笛卡爾積s1['product_name']和s2['brand_name'],設(shè)為結(jié)果為df則:

df[df['brand_name'].isin('product_name')]

為結(jié)果。這樣子可能會(huì)調(diào)用內(nèi)部優(yōu)化快一點(diǎn),可以試試。

具體如何在pandas里做笛卡爾積可以參考這個(gè)答案。

2017年3月23日 15:23