Source code for task_geo.dataset_builders.nasa.nasa_formatter
"""Extract meteorological data from NASA.
Source:
https://power.larc.nasa.gov/
"""
import itertools
import pandas as pd
from task_geo.dataset_builders.nasa.references import COL_NAMES, PARAMETERS
[docs]def nasa_formatter(df_nasa, parms=None):
"""
Format the NASA data.
Parameters
----------
df_nasa : pandas.DataFrame
parms : list of strings
Returns
-------
df_nasa : pandas.DataFrame
"""
if parms is None:
parms = list(PARAMETERS.keys())
# date column
df_nasa.reset_index(inplace=True, drop=False)
df_nasa.rename(columns={'index': 'date'}, inplace=True)
df_nasa['date'] = pd.to_datetime(df_nasa['date'], format='%Y%m%d')
# reorder columns
base_parms = ['lon', 'lat', 'date']
all_parms = list(itertools.chain.from_iterable([PARAMETERS[p]
for p in parms]))
df_nasa = df_nasa[base_parms + all_parms]
# rename columns
df_nasa.rename(columns=COL_NAMES, inplace=True)
return df_nasa