title: Bi-grams by date
body: <p>I have the following dataset:</p>
  <pre><code>       Date                  D
  _       
  0   01/18/2020  shares recipes ... - news updates · breaking news emails · lives to remem...
  1   01/18/2020  both sides of the pineapple slices with olive oil. ... some of my other support go-to's i...
  2   01/18/2020  honey, tea tree oil ...learn more from webmd about honey ...
  3   01/18/2020  years of downtown arts | times leaderas the local community dealt with concerns, pet...
  4   01/18/2020  brooklyn, ny | opentableblood orange, arugula, hazelnuts, on toast. charcuterie. $16.00. smoked ...
  5   01/19/2020  santa maria di leuca - we the italiansthe sounds of the taranta, the smell of tomatoes, olive oil...
  6   01/19/2020  abuse in amish communities : nprit's been a minute with sam sanders · code switch · throughline ...
  7   01/19/2020  fast, healthy recipe ideas – cbs new ...toss the pork cubes with chili powder, oregano, cumin, c...
  9   01/19/2020  100; 51-100 | csnyi have used oregano oil, coconut oil, famciclovir, an..
  </code></pre>
  <p>I am interested in a dataframe which shows bi-grams' frequencies by Date.
  Currently I am doing as follows:</p>
  <pre><code>import nltk
  from nltk import word_tokenize
  from nltk.corpus import stopwords
  from nltk.stem import WordNetLemmatizer
  
  stop_words = stopwords.words('english')
  
  word_vectorizer = CountVectorizer(ngram_range=(2,2), analyzer='word', stop_words=stop_words)
  sparse_matrix = word_vectorizer.fit_transform(df['D'])
  frequencies = sum(sparse_matrix).toarray()[0] 
  pd.DataFrame(frequencies, index=word_vectorizer.get_feature_names(), columns=['Frequency']).sort_values(by='Frequency',ascending=False)
  </code></pre>
  <p>But it does not show the bi-grams by Date, only their frequency.
  I would like expect something like this (<strong>expected output</strong>):</p>
  <pre><code>Date           Bi-gram      Frequency
  01/18/2020     bi-gram_1     43
                 bi-gram_2     12
                 ...
  01/19/2020     bi-gram_5     42
                 bi-gram_6     23
  </code></pre>
  <p>and so on. <code>bi-grams_1, bi-grams_2</code>, ... are just used as example.</p>
  <p>Any advice on how I can get such a dataframe?</p>