[ PROMPT_NODE_26430 ]
getting_started
[ SKILL_DOCUMENTATION ]
# Data Commons 入门
## 快速入门指南
本指南提供了常见 Data Commons 工作流的端到端示例。
## 安装与设置
bash
# 安装并支持 Pandas
pip install "datacommons-client[Pandas]"
# 设置 datacommons.org 的 API 密钥
export DC_API_KEY="your_api_key_here"
在 https://apikeys.datacommons.org/ 申请 API 密钥。
## 示例 1:基础人口查询
查询特定地点的当前人口:
python
from datacommons_client import DataCommonsClient
# 初始化客户端
client = DataCommonsClient()
# 第 1 步:将地点名称解析为 DCID
places = ["California", "Texas", "New York"]
resolve_response = client.resolve.fetch_dcids_by_name(
names=places,
entity_type="State"
)
# 提取 DCID
dcids = []
for name, result in resolve_response.to_dict().items():
if result["candidates"]:
dcids.append(result["candidates"][0]["dcid"])
print(f"{name}: {result['candidates'][0]['dcid']}")
# 第 2 步:查询人口数据
response = client.observation.fetch(
variable_dcids=["Count_Person"],
entity_dcids=dcids,
date="latest"
)
# 第 3 步:显示结果
data = response.to_dict()
for variable, entities in data.items():
for entity, observations in entities.items():
for obs in observations:
print(f"{entity}: {obs['value']:,} people ({obs['date']})")
## 示例 2:时序分析
检索并绘制历史失业率:
python
import pandas as pd
import matplotlib.pyplot as plt
client = DataCommonsClient()
# 查询随时间变化的失业率
response = client.observation.fetch(
variable_dcids=["UnemploymentRate_Person"],
entity_dcids=["country/USA"],
date="all" # 获取所有历史数据
)
# 转换为 DataFrame
df = response.to_observations_as_records()
# 绘图
df = df.sort_values('date')
plt.figure(figsize=(12, 6))
plt.plot(df['date'], df['value'])
plt.title('US Unemployment Rate Over Time')
plt.xlabel('Year')
plt.ylabel('Unemployment Rate (%)')
plt.grid(True)
plt.show()
## 示例 3:地理层级查询
获取州内所有县的数据:
python
client = DataCommonsClient()
# 查询加州所有县的家庭收入中位数
response = client.observation.fetch(
variable_dcids=["Median_Income_Household"],
entity_expression="geoId/06<-containedInPlace+{typeOf:County}",
date="2020"
)
# 转换为 DataFrame 并排序
df = response.to_observations_as_records()
# 获取县名