按值

时间:2016-01-18 09:59:41

标签: python numpy pandas merge

我有两个非常大的系列,只包含连接键。在不使用索引的情况下(在这种情况下无意义)我希望以尽可能最有效的方式通过值将一个系列连接到另一个系列。

现在,我添加了一列1,这样我就可以使用pd.merge和左连接,这样我就可以确定left中的每个键是否也存在于右边。

我确信我可以在不创建两个未使用的列的情况下执行此操作,但pd.concat似乎想要使用索引进行连接。 有没有办法在值上留下两个系列,是否有更快的numpy版本?

例如:

a = pd.Series([1,2,3])
b = pd.Series([1,3,6])

我想返回一个数组或系列,告诉我a中的每个值是否以最有效的方式存在于b中。

 [True, False, True]

1 个答案:

答案 0 :(得分:2)

您可以尝试:

c = a.isin(b)

返回:

0     True
1    False
2     True
dtype: bool

或者如果你想要一个数组,你可以:

c.values

返回:

array([ True, False,  True], dtype=bool)