Saya memiliki kode secara berurutan apakah setiap pasangan koordinat kartesius yang ditemukan di DataFrame
saya termasuk dalam area tertutup geometris tertentu. Tapi ini agak lambat, saya kira karena tidak di-vektorisasi. Berikut ini contohnya:
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
Adakah yang bisa mengusulkan pendekatan untuk mempercepat?