Python Pandas isin函数

时间:2018-06-28 08:29:52

标签: python pandas

我有两个熊猫系列

s1=pd.Series(np.round(np.linspace(-1.5, 4, 55001), 4))
s2=pd.Series(np.round(np.random.uniform(-1.5, 4, 500), 4))

我希望找出s1和s2在什么索引处出现。我正在使用isin函数。但是,当我检查长度时,我得到以下结果

>>>d=s1.isin(s2)
>>>len(np.where(d)[0])
   499
>>>d=s2.isin(s1)
>>>len(np.where(d)[0])
   500

从技术上讲,两个结果的答案应该相同,但长度有所不同。任何人都可以让我们知道这个问题。

1 个答案:

答案 0 :(得分:1)

首先,我们将指定一个随机种子

np.random.seed(0)

您的问题与s2中的重复值相关联,只需检查即可:

print(s2.drop_duplicates().shape)
print(s2.shape)

isin 函数就像一个内部联接。