我已經(jīng)使用string_grouperPython 中的包生成了兩個(gè)公司信息數(shù)據(jù)庫(kù)之間的通用名稱列表。生成的數(shù)據(jù)框顯示來自 DB1 ( ) 和 DB2 ( )matches的公司名稱高于某個(gè)字符串相似度閾值:left_sideright_side現(xiàn)在,我想減少 DB1 以僅包含公司名稱存在于matches['left_side']. (因?yàn)?DB1 中的信息如果沒有 DB2 中關(guān)于該公司的信息的補(bǔ)充就沒有用。所以我只想要兩者中的公司)我該怎么做呢?這些名稱存在于 DB1 的“名稱”列中,但例如rslt_df = DB1[DB1['names'] in matches['left_side']]給我一個(gè)錯(cuò)誤 ( 'Series' objects are mutable, thus they cannot be hashed)。DB1 非常大(matches最終有大約 10,000-20,000 行,DB1 有 2000000+ 行)所以請(qǐng)?jiān)谒俣确矫胬斡涍@一點(diǎn)!
1 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
發(fā)生錯(cuò)誤是因?yàn)?code>DB1['names']是系列,而in
運(yùn)算符期望左側(cè)有單個(gè)元素。
嘗試使用pandas.Series.isin() 函數(shù):
rslt_df?=?DB1[DB1['names'].isin(matches['left_side'])]
添加回答
舉報(bào)
0/150
提交
取消