메인 콘텐츠로 건너뛰기
Pandas는 Python에서 데이터를 조작하고 분석할 때 널리 사용하는 라이브러리입니다. chDB 버전 2에서는 Pandas DataFrame 쿼리 성능이 향상되었고, Python 테이블 함수가 도입되었습니다. 이 가이드에서는 Python 테이블 함수를 사용해 Pandas DataFrame을 쿼리하는 방법을 알아봅니다.

준비

먼저 가상 환경을 생성합니다:
이제 chDB를 설치합니다. 버전 2.0.2 이상인지 확인하십시오:
이제 Pandas와 몇 가지 다른 라이브러리를 설치합니다:
이 가이드의 나머지 부분에서 명령을 실행할 때는 ipython을 사용합니다. 다음을 실행하여 시작할 수 있습니다:
Python 스크립트나 평소 사용하는 노트북에서도 이 코드를 사용할 수 있습니다.

URL로 Pandas DataFrame 만들기

StatsBomb GitHub 리포지토리에서 일부 데이터를 쿼리하겠습니다. 먼저 requests와 pandas를 가져옵니다:
그런 다음, 경기 데이터 JSON 파일 중 하나를 DataFrame으로 로드합니다:
먼저 어떤 데이터를 다루게 될지 살펴보겠습니다:
다음으로, 이벤트 JSON 파일 중 하나를 불러오고 해당 DataFrame에 match_id라는 컬럼을 추가하겠습니다:
다시 한번 첫 번째 행을 살펴보겠습니다:

Pandas DataFrames 쿼리하기

이제 chDB를 사용해 이러한 DataFrame을 쿼리하는 방법을 살펴보겠습니다. 먼저 라이브러리를 가져오겠습니다:
Pandas DataFrame은 Python 테이블 함수를 사용해 쿼리할 수 있습니다:
따라서 matches_df의 컬럼 목록을 보려면 다음과 같이 작성할 수 있습니다:
다음 쿼리를 작성하면 두 경기 이상에서 심판을 맡은 심판이 누구인지 확인할 수 있습니다:
이제 events_df를 살펴보겠습니다.

Pandas DataFrame 조인하기

쿼리에서 여러 DataFrame을 서로 조인할 수도 있습니다. 예를 들어, 경기 개요를 확인하려면 다음과 같은 쿼리를 작성할 수 있습니다:

DataFrame로 테이블 채우기

DataFrame에서 ClickHouse 테이블을 생성하고 데이터를 채울 수도 있습니다. chDB에서 테이블을 생성하려면 Stateful Session API를 사용해야 합니다. session 모듈을 가져오겠습니다:
세션을 초기화하세요:
다음으로 데이터베이스를 생성합니다:
그런 다음 events_df를 기반으로 events 테이블을 생성합니다:
그런 다음 최다 패스 수신자를 반환하는 쿼리를 실행합니다:

Pandas DataFrame과 테이블 조인하기

마지막으로, 조인 쿼리를 수정해 matches_df DataFrame을 statsbomb.events 테이블과 조인할 수도 있습니다:
마지막 수정일 2026년 6월 12일