#initiate the dataset
= DataSet(dataflow_identifier="139_176")
dataset
#define some filters
= "M"
freq =["ISAV", "ESAV"]
tipo_dato="WORLD"
paese_partner
#set filters
=freq, tipo_dato=tipo_dato, paese_partner=paese_partner)
dataset.set_filters(freq#return dataset
= get_data(dataset)
trade_df
trade_df.head()'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(trade_df[type(trade_df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp) test_eq(
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(dataflow_identifier="144_125")
dataset
#define some filters
= "A"
freq
#set filters
=freq)
dataset.set_filters(freq#return dataset
= get_data(dataset)
annual_df
'FREQ'].unique(), ['A'])
test_eq(annual_df[type(annual_df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp) test_eq(
# test another dataset
= DataSet(dataflow_identifier="22_315")
ds = 'A'
freq = '9'
sesso = ['IT', 'ITG', 'ITF']
itter107
= freq, itter107 = itter107, sesso = sesso)
ds.set_filters(freq = get_data(ds)
df
'FREQ'].unique(), ['A'])
test_eq(df['ITTER107'].unique().sort(), ['IT', 'ITF', 'ITG'].sort())
test_eq(df['SESSO'].unique(), [9])
test_eq(df[type(df['TIME_PERIOD'].iloc[0]), pd._libs.tslibs.timestamps.Timestamp) test_eq(
# test dataset from https://github.com/Attol8/istatapi/issues/24
= DataSet(dataflow_identifier="151_914")
ds = get_data(ds)
df
# test that df is not empty
False) test_eq(df.empty,