CensusAPI
wrapper.CensusAPI(self, verify=True)
A wrapper for the 2021 England and Wales Census API.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
verify |
bool | Whether to use SSL verification. Defaults to True. | True |
Methods
| Name | Description |
|---|---|
| get | Make a call to, and retrieve some data from, the API. |
| query_categories | Query metadata on the categories of a particular feature item. |
| query_feature | Query metadata on a feature for a population type. |
| query_population_types | Query the metadata for a set of population types. |
| query_table | Query a custom table from the API. |
get
wrapper.CensusAPI.get(url)
Make a call to, and retrieve some data from, the API.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
url |
str | URL from which to retrieve data. | required |
Returns
| Type | Description |
|---|---|
| dict or None | JSON data from the response of this API call if it is successful, and None otherwise. |
query_categories
wrapper.CensusAPI.query_categories(population_type, feature, item)
Query metadata on the categories of a particular feature item.
This method connects to different endpoints depending on feature:
/{population_type}/area-types/{item}/areas/{population_type}/dimensions/{item}/categorisations
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
population_type |
str | Population type to query. | required |
feature |
(area - types, dimensions) | Endpoint of the feature to query. | "area-types" |
item |
str | ID of the item in the feature to query. | required |
Returns
| Type | Description |
|---|---|
| pandas.pandas.DataFrame or None | Metadata on the categories for the feature item if the call succeeds, and None if not. |
query_feature
wrapper.CensusAPI.query_feature(population_type, feature, *items)
Query metadata on a feature for a population type.
This method connects to the area-types and dimensions endpoints (ie. /{population_type}/{endpoint}) and returns a data frame format of the metadata there.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
population_type |
str | Population type to query. | required |
feature |
(area - types, dimensions) | Endpoint of the feature to query. | "area-types" |
*items |
str | Items to query from the endpoint. If not specified, return all items at the endpoint. For dimensions, see census21api.constants.DIMENSIONS_BY_POPULATION_TYPE, and census21api.constants.AREA_TYPES_BY_POPULATION_TYPE for area types. |
() |
Returns
| Type | Description |
|---|---|
| pandas.pandas.DataFrame or None | Data frame with the metadata if the call succeeds, and None if not. |
query_population_types
wrapper.CensusAPI.query_population_types(*population_types)
Query the metadata for a set of population types.
This method finds all available population types and retrieves their metadata from the population-types endpoint, returning the combined information as a data frame.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
population_types |
str | Population types to be queried. If not specified, metadata on all the population types are returned. See census21api.constants.POPULATION_TYPES. |
() |
Returns
| Type | Description |
|---|---|
| pandas.pandas.DataFrame or None | Data frame with all the population type metadata. If none of the API calls are successful, returns None. |
query_table
wrapper.CensusAPI.query_table(population_type, area_type, dimensions, use_id=True)
Query a custom table from the API.
This method connects to the census-observations endpoint /{population_type}/census-observations with query parameters ?area-type={area_type}&dimensions={','.join(dimensions)}.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
population_type |
str | Population type to query. See census21api.constants.POPULATION_TYPES. |
required |
area_type |
str | Area type to query. See census21api.constants.AREA_TYPES_BY_POPULATION_TYPE. |
required |
dimensions |
list of str | Dimensions to query. See census21api.constants.DIMENSIONS_BY_POPULATION_TYPE. |
required |
use_id |
bool | If True (the default) use the ID for each dimension and area type. Otherwise, use the full label. |
True |
Returns
| Type | Description |
|---|---|
| pandas.pandas.DataFrame or None | Data frame containing the data from the API call if it is successful and without blocked pairs, and None otherwise. |