Pygris获取美国单县Census tract级人口数据的语法问询
使用pygris获取美国县域内Census tract人口统计数据的正确语法
你之前的代码失效,是因为Python字典不允许重复键——你在params里定义了两个"in"键,后面的"state:06"直接覆盖了前面的"county:085",导致pygris只识别到州级过滤条件,返回了整个加利福尼亚州的所有tract数据。
对应Census API里的嵌套地理参数,在pygris中需要把state和county合并到同一个"in"参数值里,格式为"state:XX county:YY",而不是拆分两次定义"in"键。
修正后的代码如下:
import pygris from pygris.data import get_census VARS = ['GEO_ID', 'DP05_0053PE'] CA_VN = get_census( dataset = "acs/acs5/profile", variables = VARS, year = 2023, params = { "for": "tract:*", "in": "state:06 county:085" # 将州和县域条件合并到同一个in参数中 }, return_geoid = True, guess_dtypes = True ) print(CA_VN)
这个写法和你手动构造的URL参数逻辑完全一致,Census API会自动解析合并后的in参数,返回圣克拉拉县(county:085)内的408个Census tract数据。
内容的提问来源于stack exchange,提问作者Pietro Calogero
相关产品推荐
相关产品推荐

