We have an assignment in which we are doing exploratory data analysis. I need your help during the process. Here's the assignment to provide necessary background information.

# Assignment 
## Task
We will be focusing on the yelp business dataset to do an exploratory analysis. This dataset provides information about businesses, user reviews, and more from Yelp's database. The data is split into separate files (business, checkin, photos, review, tip, and user), and is available in either JSON or SQL format. You might use this to investigate the distributions of scores on yelp, look at how many reviews users typically leave or look for regional trends about restaurants. Note that this is a large, structured dataset and you don't need to look at all of the data to answer interesting questions.

Prior to analysis – you should write down an initial set of at least three questions you'd like to investigate.

Next, you will perform an exploratory analysis of your dataset using a visualization tool such as Vega-Lite/Altair or Tableau. You should consider two different phases of exploration.

In the first phase, you should seek to gain an overview of the shape & structure of your dataset. What variables does the dataset contain? How are they distributed? Are there any notable data quality issues? Are there any surprising relationships among the variables? Be sure to perform "sanity checks" for any patterns you expect the data to contain.

In the second phase, you should investigate your initial questions, as well as any new questions that arise during your exploration. For each question, start by creating a visualization that might provide a useful answer. Then refine the visualization (by adding additional variables, changing sorting or axis scales, filtering or subsetting data, etc.) to develop better perspectives, explore unexpected observations, or sanity check your assumptions. You should repeat this process for each of your questions, but feel free to revise your questions or branch off to explore new questions if the data warrants.

## Final Deliverable
Your final submission should take the form of a sequence of images – similar to a comic book – that consists of 8 or more visualizations detailing your most important observations.
Your observations can include important surprises or issues (such as data quality problems affecting your analysis) as well as responses to your analysis questions. Where appropriate, we encourage you to include annotated visualizations to guide viewers' attention and provide interpretive context. (If you aren't sure what we mean by "annotated visualization," see this page for some examples.)
Provide sufficient detail such that anyone can read your report and understand what you've learned without already being familiar with the dataset. To help gauge the scope of this assignment, see this example report analyzing motion picture data.

Below is the jupyter notebook I have so far:

``` python
import pandas as pd
business_path = "yelp_academic_dataset_business.json"
df_business = pd.read_json(business_path, lines=True)
df_business.info()
```

``` output
<class 'pandas.core.frame.DataFrame'>
    RangeIndex: 150346 entries, 0 to 150345
    Data columns (total 14 columns):
     #   Column        Non-Null Count   Dtype  
    ---  ------        --------------   -----  
     0   business_id   150346 non-null  object 
     1   name          150346 non-null  object 
     2   address       150346 non-null  object 
     3   city          150346 non-null  object 
     4   state         150346 non-null  object 
     5   postal_code   150346 non-null  object 
     6   latitude      150346 non-null  float64
     7   longitude     150346 non-null  float64
     8   stars         150346 non-null  float64
     9   review_count  150346 non-null  int64  
     10  is_open       150346 non-null  int64  
     11  attributes    136602 non-null  object 
     12  categories    150243 non-null  object 
     13  hours         127123 non-null  object 
    dtypes: float64(3), int64(2), object(9)
    memory usage: 16.1+ MB
```

```python
 # filter to only food businesses in Nashville
    df_business_nashville = df_business.query("state == 'TN' and city == 'Nashville'")
    df_business_food = df_business_nashville[df_business_nashville.categories.str.contains('Food', na=False)]
    df_business_food.head()
df_business_food.stars
df_categories = df_business_food.assign(categories=df_business_food.categories.str.split(',')).explode('categories').reset_index(drop=True)
df_categories
```

``` output HTML
 <div>
    <style scoped>
        .dataframe tbody tr th:only-of-type {
            vertical-align: middle;
        }
    
        .dataframe tbody tr th {
            vertical-align: top;
        }
    
        .dataframe thead th {
            text-align: right;
        }
    </style>
    <table border="1" class="dataframe">
      <thead>
        <tr style="text-align: right;">
          <th></th>
          <th>latitude</th>
          <th>longitude</th>
          <th>stars</th>
          <th>review_count</th>
          <th>is_open</th>
        </tr>
        <tr>
          <th>categories</th>
          <th></th>
          <th></th>
          <th></th>
          <th></th>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>Acai Bowls</th>
          <td>36.164741</td>
          <td>-86.783529</td>
          <td>4.000000</td>
          <td>37.666667</td>
          <td>0.666667</td>
        </tr>
        <tr>
          <th>African</th>
          <td>36.092369</td>
          <td>-86.652383</td>
          <td>5.000000</td>
          <td>65.000000</td>
          <td>1.000000</td>
        </tr>
        <tr>
          <th>American (New)</th>
          <td>36.135070</td>
          <td>-86.743816</td>
          <td>3.916667</td>
          <td>1100.333333</td>
          <td>1.000000</td>
        </tr>
        <tr>
          <th>American (Traditional)</th>
          <td>36.134642</td>
          <td>-86.801072</td>
          <td>3.285714</td>
          <td>432.571429</td>
          <td>0.714286</td>
        </tr>
        <tr>
          <th>Arcades</th>
          <td>36.176649</td>
          <td>-86.751953</td>
          <td>4.500000</td>
          <td>353.000000</td>
          <td>0.000000</td>
        </tr>
        <tr>
          <th>...</th>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
        </tr>
        <tr>
          <th>Street Vendors</th>
          <td>36.152380</td>
          <td>-86.789389</td>
          <td>2.500000</td>
          <td>16.000000</td>
          <td>1.000000</td>
        </tr>
        <tr>
          <th>Tea Rooms</th>
          <td>36.162790</td>
          <td>-86.742902</td>
          <td>3.500000</td>
          <td>9.500000</td>
          <td>0.000000</td>
        </tr>
        <tr>
          <th>Tex-Mex</th>
          <td>36.127257</td>
          <td>-86.844113</td>
          <td>2.000000</td>
          <td>23.000000</td>
          <td>1.000000</td>
        </tr>
        <tr>
          <th>Tobacco Shops</th>
          <td>36.039501</td>
          <td>-86.742226</td>
          <td>4.500000</td>
          <td>15.000000</td>
          <td>1.000000</td>
        </tr>
        <tr>
          <th>Wine Bars</th>
          <td>36.140241</td>
          <td>-86.799971</td>
          <td>4.250000</td>
          <td>108.500000</td>
          <td>1.000000</td>
        </tr>
      </tbody>
    </table>
    <p>196 rows × 5 columns</p>
    </div>
```

### Prompt
Could you write short helpful comments to the code?