title: geopandas point in polygon
body: <p>I have a GeoDataFrame of polygons (~30) and a GeoDataFrame of Points (~10k)</p>
  
  <p>I'm looking to create 30 new columns (with appropriate polygon names) in my GeoDataFrame of Points with a simple boolean True/False if the point is present in the polygon.</p>
  
  <p>As an example, the GeoDataFrame of Polygons is this:</p>
  
  <pre><code>id  geometry
  foo POLYGON ((-0.18353,51.51022, -0.18421,51.50767, -0.18253,51.50744, -0.1794,51.50914))
  bar POLYGON ((-0.17003,51.50739, -0.16904,51.50604, -0.16488,51.50615, -0.1613,51.5091))
  </code></pre>
  
  <p>The GeoDataFrame of Points is like this:</p>
  
  <pre><code>counter     points
     1     ((-0.17987,51.50974))
     2     ((-0.16507,51.50925))
  </code></pre>
  
  <p>Expected output:</p>
  
  <pre><code>counter          points        foo    bar
     1    ((-0.17987,51.50974))  False  False
     1    ((-0.16507,51.50925))  False  False
  </code></pre>
  
  <p>I can do this manually by:</p>
  
  <pre><code>foo = df_poly.loc[df_poly.id=='foo']
  df_points['foo'] = df_points['points'].map(lambda x: True if foo.contains(x).any()==True else False
  </code></pre>
  
  <p>But given that I have 30 polygons, I was wondering if there is a better way.
  Appreciate any help!</p>