擅长:python、mysql、java
<p>您是正确的:默认情况下,Python操作不是矢量化的。在这方面,R比常规Python更接近于第三方<a href="https://pandas.pydata.org/" rel="nofollow noreferrer">Pandas</a>的API。因此可以使用熊猫系列对象:</p>
<pre><code>import pandas as pd
x = pd.Series([1, 2, 3, 4])
y = pd.Series([2, 4, 6, 8])
res = x[x.isin(y)]
print(res) # output Pandas series
# 1 2
# 3 4
# dtype: int64
print(res.values) # output NumPy array representation
# array([2, 4], dtype=int64)
</code></pre>
<p>Pandas建立在<a href="http://www.numpy.org/" rel="nofollow noreferrer">NumPy</a>的基础上,因此毫不奇怪,您可以在NumPy中执行相同的操作:</p>
<pre><code>import numpy as np
x = np.array([1, 2, 3, 4])
y = np.array([2, 4, 6, 8])
res = x[np.isin(x, y)]
print(res)
# array([2, 4])
</code></pre>