Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if field.endswith('E'):
agg = sum(aggregated_features[field])
elif field.endswith('M'):
e_field = field[:-1] + 'E'
agg = census.math.moe_of_sum(aggregated_features[e_field],
aggregated_features[field])
else:
raise ValueError("Don't know how to aggregate this variable {}".format(feature))
collapsed[field] = agg
return collapsed
class ACS5Client(census.core.ACS5Client, GeoClient):
@supported_years(2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010)
def state_place_tract(self, *args, **kwargs):
return self._state_place_area(self.geo_tract, *args, **kwargs)
@supported_years(2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010)
def state_place_blockgroup(self, *args, **kwargs):
return self._state_place_area(self.geo_blockgroup, *args, **kwargs)
class SF1Client(census.core.SF1Client, GeoClient):
@supported_years(2010, 2000, 1990)
def state_place_tract(self, *args, **kwargs):
return self._state_place_area(self.geo_tract, *args, **kwargs)
@supported_years(2010, 2000)
def state_place_blockgroup(self, *args, **kwargs):
def __init__(self, key, year=None, session=None):
if not session:
session = new_session()
self.session = session
self.session.headers.update({
'User-Agent': ('python-census/{} '.format(__version__) +
'github.com/datamade/census')
})
self._acs = ACS5Client(key, year, session) # deprecated
self.acs5 = ACS5Client(key, year, session)
self.acs3 = ACS3Client(key, year, session)
self.acs1 = ACS1Client(key, year, session)
self.acs5dp = ACS5DpClient(key, year, session)
self.acs3dp = ACS3DpClient(key, year, session)
self.acs1dp = ACS1DpClient(key, year, session)
self.sf1 = SF1Client(key, year, session)
self.sf3 = SF3Client(key, year, session)
def __init__(self, key, year=None, session=None):
if not session:
session = new_session()
self.session = session
self.session.headers.update({
'User-Agent': ('python-census/{} '.format(__version__) +
'github.com/datamade/census')
})
self._acs = ACS5Client(key, year, session) # deprecated
self.acs5 = ACS5Client(key, year, session)
self.acs3 = ACS3Client(key, year, session)
self.acs1 = ACS1Client(key, year, session)
self.acs5dp = ACS5DpClient(key, year, session)
self.acs3dp = ACS3DpClient(key, year, session)
self.acs1dp = ACS1DpClient(key, year, session)
self.sf1 = SF1Client(key, year, session)
self.sf3 = SF3Client(key, year, session)
blockgroup, tract=None, **kwargs):
geo = {
'for': 'block group:{}'.format(blockgroup),
'in': 'state:{} county:{}'.format(state_fips, county_fips),
}
if tract:
geo['in'] += ' tract:{}'.format(tract)
return self.get(fields, geo=geo, **kwargs)
@supported_years(2017, 2016, 2015, 2014, 2013, 2012, 2011)
def zipcode(self, fields, zcta, **kwargs):
return self.get(fields, geo={
'for': 'zip code tabulation area:{}'.format(zcta),
}, **kwargs)
class ACS5DpClient(ACS5Client):
dataset = 'acs5/profile'
years = (2017, 2016, 2015, 2014, 2013, 2012)
class ACS3Client(ACSClient):
default_year = 2013
dataset = 'acs3'
years = (2013, 2012)
@supported_years()
def state_county_subdivision(self, fields, state_fips,
county_fips, subdiv_fips, **kwargs):