У меня есть код для последовательного определения того, попадает ли каждая пара декартовых координат, найденных в моем DataFrame
, в определенные геометрические замкнутые области. Но он довольно медленный, я подозреваю, потому что он не векторизован. Вот пример:
from matplotlib.patches import Rectangle
r1 = Rectangle((0,0), 10, 10)
r2 = Rectangle((50,50), 10, 10)
df = pd.DataFrame([[1,2],[-1,5], [51,52]], columns=['x', 'y'])
for j in range(df.shape[0]):
coordinates = df.x.iloc[j], df.y.iloc[j]
if r1.contains_point(coordinates):
df['location'].iloc[j] = 0
else r2.contains_point(coordinates):
df['location'].iloc[j] = 1
Может ли кто-нибудь предложить подход для ускорения?