dhhagan / py-openaq

Python wrapper for the Open AQ API
MIT License
63 stars 10 forks source link

Bad Request 422 and 'date.local' issue. #42

Open chayanroyc opened 1 year ago

chayanroyc commented 1 year ago

Hi. I am trying to follow the tutorial and keep getting this error.

api.measurements(city='Delhi', parameter='pm25', limit=1000, df=True)

/glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/openaq/decorators.py:57: FutureWarning: pandas.io.json.json_normalize is deprecated, use pandas.json_normalize instead.
  data = pd.io.json.json_normalize(resp)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/pandas/core/indexes/base.py:3621, in Index.get_loc(self, key, method, tolerance)
   3620 try:
-> 3621     return self._engine.get_loc(casted_key)
   3622 except KeyError as err:

File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/pandas/_libs/index.pyx:136, in pandas._libs.index.IndexEngine.get_loc()

File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/pandas/_libs/index.pyx:163, in pandas._libs.index.IndexEngine.get_loc()

File pandas/_libs/hashtable_class_helper.pxi:5198, in pandas._libs.hashtable.PyObjectHashTable.get_item()

File pandas/_libs/hashtable_class_helper.pxi:5206, in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'date.local'

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 api.measurements(city='Delhi', parameter='pm25', limit=1000, df=True)

File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/openaq/decorators.py:76, in pandasize.<locals>.decorator.<locals>.decorated_function(*args, **kwargs)
     74     del data['date.utc']
     75 elif index == 'local':
---> 76     data.index = data['date.local']
     77     del data['date.local']
     78 else:

File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/pandas/core/frame.py:3505, in DataFrame.__getitem__(self, key)
   3503 if self.columns.nlevels > 1:
   3504     return self._getitem_multilevel(key)
-> 3505 indexer = self.columns.get_loc(key)
   3506 if is_integer(indexer):
   3507     indexer = [indexer]

File /glade/work/chayan/conda-envs/pangeo_chayan/lib/python3.10/site-packages/pandas/core/indexes/base.py:3623, in Index.get_loc(self, key, method, tolerance)
   3621     return self._engine.get_loc(casted_key)
   3622 except KeyError as err:
-> 3623     raise KeyError(key) from err
   3624 except TypeError:
   3625     # If we have a listlike key, _check_indexing_error will raise
   3626     #  InvalidIndexError. Otherwise we fall through and re-raise
   3627     #  the TypeError.
   3628     self._check_indexing_error(key)

KeyError: 'date.local'