title: Connecting 2 points in a geodataframe to create a series of LineStrings
body: <p>Having trouble finding the right solution here. I want to connect two sequential points in a geodataframe to make a line. I don't want to use groupby as I need to keep the data for each index and not necessarily change the shape of the gdf. I implemented the dumb solution of just iterating over all rows:</p>
  <pre><code>for index, row in gdf.iloc[:-1,:].iterrows():
      line.append(LineString([row['geometry'],gdf['geometry'].loc[index+1]]))
  </code></pre>
  <p>But this seems real bad. Is there a solution using vector operations?</p>
  <p>Edit: Here is a simple working example:</p>
  <pre><code>import geopandas as gpd
  import pandas as pd
  from shapely.geometry import Point, LineString
  
  newindex = []
  line = []
  
  Name = ['Abby','Delta','Foxtrot','Lupo','Alistair']
  Lon = [-81.6000, -81.1955, -80.8000, -80.4273,-80.1000]
  Lat = [23.5000, 23.8552,24.2000, 24.5350, 24.9000]
  
  df = pd.DataFrame()
  df['Name'] = Name
  df['Lon'] = Lon
  df['Lat'] = Lat
  gdf = gpd.GeoDataFrame(df,geometry=gpd.points_from_xy(df.Lon,df.Lat))
  for index, row in gdf.iloc[:-1,:].iterrows():
      newindex.append(index)
      line.append(LineString([row['geometry'],gdf['geometry'].loc[index+1]]))
  
  nds = gpd.GeoSeries(line,index=newindex)
  gdf['LINE']=nds
  </code></pre>
  <p>I want to add a LINE column to the existing dataframe that is defined by just 2 points: The point in the existing column and the point in the next column. While this works, it feels super inefficient to me.</p>