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

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

根據字符串匹配的 Pandas 子集行

根據字符串匹配的 Pandas 子集行

慕神8447489 2023-04-25 16:06:56
我已經使用string_grouperPython 中的包生成了兩個公司信息數據庫之間的通用名稱列表。生成的數據框顯示來自 DB1 ( ) 和 DB2 ( )matches的公司名稱高于某個字符串相似度閾值:left_sideright_side現在,我想減少 DB1 以僅包含公司名稱存在于matches['left_side']. (因為 DB1 中的信息如果沒有 DB2 中關于該公司的信息的補充就沒有用。所以我只想要兩者中的公司)我該怎么做呢?這些名稱存在于 DB1 的“名稱”列中,但例如rslt_df = DB1[DB1['names'] in matches['left_side']]給我一個錯誤 ( 'Series' objects are mutable, thus they cannot be hashed)。DB1 非常大(matches最終有大約 10,000-20,000 行,DB1 有 2000000+ 行)所以請在速度方面牢記這一點!
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

發生錯誤是因為DB1['names']是系列,而in運算符期望左側有單個元素。

嘗試使用pandas.Series.isin() 函數:

rslt_df?=?DB1[DB1['names'].isin(matches['left_side'])]


查看完整回答
反對 回復 2023-04-25
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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