title: Loop through the columns and avoid IndexError
body: <p>Given sample data set (real data has <code>(931, 674)</code>):</p>
  
  <pre><code>12_longitude_1  12_latitude_1   14_longitude_2  14_latitude_2   15_longitude_3  15_latitude_3
             16             11             12               13             14              15     
             16             11             12               13             14              15  
             16             11             12               13             14              15   
  </code></pre>
  
  <p>I am running:</p>
  
  <pre><code>pd_out = pd.DataFrame({'zone': [], 'number': []})
  
  for col_num in range(0, len(border.columns), 2):
      curr_lon_name = border.columns[col_num]
      curr_lat_name = border.columns[col_num + 1] # PROBLEM IS HERE
      num = curr_lon_name.split("_")[-1]
      border = border[[curr_lon_name, curr_lat_name]].dropna()
      border[curr_lon_name] = border[curr_lon_name].replace(r'[()]', '', regex=True)
      border[curr_lat_name] = border[curr_lat_name].replace(r'[()]', '', regex=True)
      border[curr_lon_name] = pd.to_numeric(border[curr_lon_name], errors='coerce')
      border[curr_lat_name] = pd.to_numeric(border[curr_lat_name], errors='coerce')
      geometry2 = [Point(xy) for xy in zip(border[curr_lon_name],border[curr_lat_name])]
      border_point = gpd.GeoDataFrame(border,crs=crs,geometry=geometry2)
      turin_final = Polygon([[p.x, p.y] for p in border_point.geometry])
      within_turin = turin_point[turin_point.geometry.within(turin_final)]
      curr_len = len(within_turin)
      pd_out = pd_out.append({'zone': "long_lat_{}".format(num), 'number': curr_len}, ignore_index=True) 
  </code></pre>
  
  <hr>
  
  <p>But in the line <code>----&gt; 7     curr_lat_name = border.columns[col_num + 1]</code> I get:</p>
  
  <blockquote>
    <p>IndexError: index 3 is out of bounds for axis 0 with size 3</p>
  </blockquote>