當我做match=a.isin(b)匹配的數量不等于match2=b.isin(a). 這里 a 和 b 是資料框列(系列),匹配項是列中的每個“真”值。我認為a.isin(b)是一個函式為 b 中找到的 a 中的那些元素回傳“真”,并b.isin(a)作為一個函式為 a 中找到的 b 中的那些元素回傳“真”。我希望匹配數量相等,為什么不呢?我有len(match)>>len(match2),這可能嗎?
uj5u.com熱心網友回復:
我認為你對做什么感到困惑isin。
a = pd.Series([1,1,1,2,2,3])
b = pd.Series([1,2,2,4])
然后a.isin(b)具有與以下相同的長度(和索引)a:
pd.Series([True, True, True, True, True, False])
whileb.isin(a)具有與以下相同的長度(和索引)b:
pd.Series([True, True, True, False])
什么會是一樣的?該唯一值:
set(a[a.isin(b)]) == set(b[b.isin(a)])
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360306.html
