새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스
편집자 이미지

# 소개

데이터는 모든 데이터 전문가 작업의 핵심입니다. 유용하고 유효한 데이터 소스가 없으면 우리는 책임을 수행할 수 없습니다. 더욱이 품질이 좋지 않거나 관련성이 없는 데이터는 우리의 작업을 낭비하게 만들 뿐입니다. 그렇기 때문에 신뢰할 수 있는 데이터 세트에 액세스하는 것이 데이터 전문가에게 중요한 출발점이 됩니다.

데이터 공유 는 전 세계에서 사용 가능한 데이터를 정리하고 모든 사람이 사용할 수 있도록 하기 위한 Google의 오픈 소스 이니셔티브입니다. 공개적으로 사용 가능한 데이터를 쿼리하는 것은 누구나 무료입니다. Data Commons가 다른 공공 데이터 세트 프로젝트와 차별화되는 점은 이미 도식 작업을 수행하여 데이터를 훨씬 더 빠르게 사용할 수 있도록 준비한다는 것입니다.

우리 작업에 대한 Data Commons의 유용성을 고려할 때 이에 대한 액세스는 많은 데이터 작업에 매우 중요해지고 있습니다. 다행히 Data Commons는 이러한 데이터 세트에 액세스할 수 있는 새로운 Python API 클라이언트를 제공합니다.

# Python으로 데이터 공유에 접근하기

Data Commons는 다양한 소스의 정보를 통합하는 쿼리 가능한 지식 그래프로 데이터를 구성하는 방식으로 작동합니다. 핵심적으로는 다음의 스키마 기반 모델을 사용합니다. Schema.org 데이터 표현을 표준화합니다.

이 스키마를 사용하여 Data Commons는 다양한 소스의 데이터를 노드가 엔터티(예: 도시, 위치, 사람), 이벤트 및 통계 변수를 나타내는 단일 그래프로 연결할 수 있습니다. 에지는 이러한 노드 간의 관계를 나타냅니다. 각 노드는 고유하며 DCID(Data Commons ID)로 식별할 수 있으며 많은 노드에는 변수, 엔터티 및 기간에 연결된 측정값인 관측값이 포함되어 있습니다.

Python API를 사용하면 지식 그래프에 쉽게 접근하여 필요한 데이터를 얻을 수 있습니다. 어떻게 그렇게 할 수 있는지 시험해 봅시다.

먼저 Data Commons에 액세스하려면 무료 API 키를 획득해야 합니다. 무료 계정을 만들고 API 키를 안전한 위치에 복사하세요. 평가판 API 키를 사용할 수도 있지만 액세스가 더 제한됩니다.

다음으로 Data Commons Python 라이브러리를 설치합니다. V2 API 클라이언트는 최신 버전이므로 사용하겠습니다. 그렇게 하려면 다음 명령을 실행하여 다음에 대한 선택적 지원을 포함하는 Data Commons 클라이언트를 설치하십시오. 팬더 DataFrames도 마찬가지입니다.

pip install "datacommons-client[Pandas]"

라이브러리가 설치되었으면 Data Commons Python 클라이언트를 사용하여 데이터를 가져올 준비가 되었습니다.

클라우드의 데이터에 액세스할 클라이언트를 생성하려면 다음 코드를 실행하세요.

from datacommons_client.client import DataCommonsClient

client = DataCommonsClient(api_key="YOUR-API-KEY")

Data Commons에서 가장 중요한 개념 중 하나는 도시나 국가와 같이 현실 세계에서 지속적이고 물리적인 사물을 가리키는 엔터티(Entity)입니다. 대부분의 데이터 세트에서는 엔터티를 지정해야 하므로 이는 데이터를 가져오는 데 중요한 부분이 됩니다. Data Commons Place 페이지를 방문하여 사용 가능한 모든 엔터티에 대해 알아볼 수 있습니다.

대부분의 사용자에게 있어서 우리가 얻고자 하는 데이터는 더 구체적입니다. 즉, Data Commons에 저장된 통계 변수입니다. 검색하려는 데이터를 선택하려면 통계 변수 탐색기를 통해 찾을 수 있는 통계 변수의 DCID를 알아야 합니다.

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

변수를 필터링하고 위 옵션에서 데이터세트를 선택할 수 있습니다. 예를 들어 “성인 100,000명당 ATM 수”에 대한 World Bank 데이터세트를 선택합니다. 이 경우 탐색기에서 제공되는 정보를 확인하여 DCID를 얻을 수 있습니다.

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

DCID를 클릭하면 노드와 관련된 모든 정보와 다른 정보와의 연결 방식을 볼 수 있습니다.

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

통계 변수 DCID의 경우 지리에 대한 엔터티 DCID도 지정해야 합니다. 위에서 언급한 Data Commons Place 페이지를 탐색하거나 다음 코드를 사용하여 특정 장소 이름에 사용 가능한 DCID를 확인할 수 있습니다.

# Look up DCIDs by place name (returns multiple candidates)
resp = client.resolve.fetch_dcids_by_name(names="Indonesia").to_dict()
dcid_list = [c["dcid"] for c in resp["entities"][0]["candidates"]]
print(dcid_list)

다음과 유사한 출력이 표시됩니다.

['country/IDN', 'geoId/...' , '...']

위의 코드를 사용하여 특정 장소 이름에 사용 가능한 DCID 후보를 가져옵니다. 예를 들어 ‘인도네시아’ 후보 중에서 다음을 선택할 수 있습니다. country/IDN 국가 DCID로.

이제 필요한 모든 정보가 준비되었으며 다음 코드만 실행하면 됩니다.

variable = ["worldBank/GFDD_AI_25"]
entity = ["country/IDN"]

df = client.observations_dataframe(
    variable_dcids=variable,
    date="all",
    entity_dcids=entity
)

결과는 아래 데이터 세트에 표시됩니다.

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

현재 코드는 전체 기간에 걸쳐 선택한 변수 및 엔터티에 대해 사용 가능한 모든 관찰을 반환합니다. 위의 코드에서는 단일 문자열 대신 목록을 사용하고 있음을 알 수 있습니다.

이는 여러 변수와 엔터티를 동시에 전달하여 결합된 데이터 세트를 얻을 수 있기 때문입니다. 예를 들어 아래 코드는 두 개의 서로 다른 통계 변수와 두 개의 엔터티를 동시에 가져옵니다.

variable = ["worldBank/GFDD_AI_25", "worldBank/SP_DYN_LE60_FE_IN"]
entity = ["country/IDN", "country/USA"]

df = client.observations_dataframe(
    variable_dcids=variable,
    date="all",
    entity_dcids=entity
)

다음과 같은 출력이 있습니다.

새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스

결과 DataFrame이 이전에 설정한 변수와 엔터티를 결합하는 것을 볼 수 있습니다. 이 방법을 사용하면 각 조합에 대해 별도의 쿼리를 실행하지 않고도 필요한 데이터를 얻을 수 있습니다.

이것이 새로운 Python API 클라이언트를 사용하여 Data Commons에 액세스하는 방법에 대해 알아야 할 전부입니다. 업무에 신뢰할 수 있는 공공 데이터가 필요할 때마다 이 라이브러리를 사용하세요.

# 마무리

Data Commons는 데이터 액세스 민주화를 목표로 하는 Google의 오픈 소스 프로젝트입니다. 이 프로젝트는 데이터 세트가 지식 그래프 스키마 위에 구축되어 데이터를 더 쉽게 통합할 수 있다는 점에서 본질적으로 많은 공공 데이터 프로젝트와 다릅니다.

이 기사에서는 통계 변수와 엔터티를 활용하여 관찰 결과를 검색하여 Python을 사용하여 그래프 내의 데이터 세트에 액세스하는 방법을 살펴보았습니다.

이것이 도움이 되었기를 바랍니다.

코넬리우스 유다 위자야 데이터 과학 보조 관리자이자 데이터 작성자입니다. Allianz Indonesia에서 풀타임으로 일하는 동안 그는 소셜 미디어와 글쓰기 미디어를 통해 Python과 데이터 팁을 공유하는 것을 좋아합니다. Cornellius는 다양한 AI 및 기계 학습 주제에 대해 글을 씁니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다