#initiate the dataset
dataset = DataSet(dataflow_identifier="139_176")
#define some filters
freq = "M"
tipo_dato=["ISAV", "ESAV"]
paese_partner="WORLD"
#set filters
dataset.set_filters(freq=freq, tipo_dato=tipo_dato, paese_partner=paese_partner)
#return dataset
trade_df = get_data(dataset)
trade_df.head()
test_eq(trade_df['FREQ'].unique(), ['M'])
test_eq(trade_df['TIPO_DATO'].unique().sort(), ["ISAV", "ESAV"].sort())
test_eq(trade_df['PAESE_PARTNER'].unique().sort(), ["WORLD"].sort())
test_eq(type(trade_df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp)Retrieval
Functions to retrieve data from the ISTAT api
make_url_key
make_url_key (filters:dict)
get_data
get_data (dataset:istatapi.discovery.DataSet, **kwargs)
returns a dataframe of the filtered ‘dataset’
# test annual dataset
dataset = DataSet(dataflow_identifier="144_125")
#define some filters
freq = "A"
#set filters
dataset.set_filters(freq=freq)
#return dataset
annual_df = get_data(dataset)
test_eq(annual_df['FREQ'].unique(), ['A'])
test_eq(type(annual_df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp)# test another dataset
ds = DataSet(dataflow_identifier="22_315")
freq = 'A'
sesso = '9'
itter107 = ['IT', 'ITG', 'ITF']
ds.set_filters(freq = freq, itter107 = itter107, sesso = sesso)
df = get_data(ds)
test_eq(df['FREQ'].unique(), ['A'])
test_eq(df['ITTER107'].unique().sort(), ['IT', 'ITF', 'ITG'].sort())
test_eq(df['SESSO'].unique(), [9])
test_eq(type(df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp)# test dataset from https://github.com/Attol8/istatapi/issues/24
ds = DataSet(dataflow_identifier="151_914")
df = get_data(ds)
# test that df is not empty
test_eq(df.empty, False)