@@ -198,7 +198,7 @@ def interest_over_time(self):
198198
199199 return final
200200
201- def interest_by_region (self , resolution = 'COUNTRY' ):
201+ def interest_by_region (self , resolution = 'COUNTRY' , inc_low_vol = True , inc_geo_code = False ):
202202 """Request data from Google's Interest by Region section and return a dataframe"""
203203
204204 # make the request
@@ -207,6 +207,9 @@ def interest_by_region(self, resolution='COUNTRY'):
207207 self .interest_by_region_widget ['request' ]['resolution' ] = resolution
208208 elif self .geo == 'US' and resolution in ['DMA' , 'CITY' , 'REGION' ]:
209209 self .interest_by_region_widget ['request' ]['resolution' ] = resolution
210+
211+ self .interest_by_region_widget ['request' ]['includeLowSearchVolumeGeos' ] = inc_low_vol
212+
210213 # convert to string as requests will mangle
211214 region_payload ['req' ] = json .dumps (self .interest_by_region_widget ['request' ])
212215 region_payload ['token' ] = self .interest_by_region_widget ['token' ]
@@ -222,14 +225,19 @@ def interest_by_region(self, resolution='COUNTRY'):
222225 df = pd .DataFrame (req_json ['default' ]['geoMapData' ])
223226 if (df .empty ):
224227 return df
228+
225229 # rename the column with the search keyword
226- df = df [['geoName' , 'value' ]].set_index (['geoName' ]).sort_index ()
230+ df = df [['geoName' , 'geoCode' , ' value' ]].set_index (['geoName' ]).sort_index ()
227231 # split list columns into seperate ones, remove brackets and split on comma
228232 result_df = df ['value' ].apply (lambda x : pd .Series (str (x ).replace ('[' , '' ).replace (']' , '' ).split (',' )))
233+ if inc_geo_code :
234+ result_df ['geoCode' ] = df ['geoCode' ]
235+
229236 # rename each column with its search term
230237 for idx , kw in enumerate (self .kw_list ):
231238 result_df [kw ] = result_df [idx ].astype ('int' )
232239 del result_df [idx ]
240+
233241 return result_df
234242
235243 def related_topics (self ):
0 commit comments