FireDucks는 125배 더 빠른 성능을 제공합니다

FireDucks는 125배 더 빠른 성능을 제공합니다

Pandas 코드가 대규모 데이터 세트를 처리할 때까지 화면을 바라보는 데 지치셨나요? 데이터 과학의 세계에서는 효율성이 가장 중요합니다. 데이터 세트가 점점 더 커지고 복잡해짐에 따라 더 빠르고 효율적인 도구에 대한 필요성이 점점 더 중요해지고 있습니다. Pandas가 대규모 데이터 세트를 처리할 때까지 끝없이 기다리고 계시다면 혼자가 아닙니다. Pandas보다 125배 빠르고 데이터 워크플로우를 강화할 준비가 된 Python 라이브러리인 FireDucks를 만나보세요. 데이터 과학자, 분석가, 개발자 모두 FireDucks는 워크플로를 가속화할 수 있는 강력한 솔루션을 제공합니다.

FireDucks란 무엇입니까?

FireDucks는 데이터 분석 작업을 최적화하도록 설계된 고성능 Python 라이브러리입니다. 슈퍼컴퓨팅 기술의 선두주자인 NEC가 개발한 FireDucks는 수십 년간의 고성능 컴퓨팅 전문 지식을 활용하여 비교할 수 없는 속도와 효율성을 제공합니다.

  • 속도: Pandas보다 최대 125배 빠릅니다(네, 맞습니다).
  • 호환성: Pandas와 동일한 API를 사용하므로 코드를 다시 작성할 필요가 없습니다.
  • 게으른 평가: 시간과 리소스를 절약하기 위해 백그라운드에서 작업을 최적화합니다.

벤치마킹

팀은 다양한 크기의 데이터 세트에서 Join 및 GroupBy와 같은 기본적인 데이터 과학 작업을 테스트하는 벤치마크인 db-benchmark를 사용하여 FireDucks의 성능을 평가했습니다. 2024년 9월 10일 현재 FireDucks는 탁월한 성능을 보여 대규모 데이터세트에 대한 그룹화 및 조인 작업을 위한 가장 빠른 데이터프레임 라이브러리로 자리매김했습니다.

    FireDucks 벤치마킹.webp
출처: FireDucks
  • 전체 평가 세부정보는 여기에서 공식 결과를 참조하세요.
  • 여기에서 모든 매개변수에 대한 벤치마킹 세부정보를 찾아보세요.

FireDucks 대 Pandas: 실습

다음은 FireDucks를 테스트하고 그 성능을 Pandas와 비교하는 실습 예제입니다. 실제 데이터 세트를 사용하고 데이터 로드, 필터링, 그룹화, 집계와 같은 일반적인 데이터 분석 작업을 수행합니다. 이는 FireDucks가 어떻게 작업 흐름 속도를 높일 수 있는지 이해하는 데 도움이 됩니다.

1단계: 라이브러리 가져오기

import pandas as pd
import fireducks.pandas as fpd
import numpy as np
import time
  • pandas: 생성하고 조작하는 데 사용됩니다. pandas 데이터프레임.
  • fireducks.pandas: 보다 빠르다고 주장하는 라이브러리 pandas 특정 작업의 경우.
  • numpy: 대규모 난수 배열을 생성하는 데 사용됩니다.
  • time: 작업 수행 시간을 측정하는 데 사용됩니다.

2단계: 샘플 데이터 생성

num_rows = 10_000_000
df_pandas = pd.DataFrame({
    'A': np.random.randint(1, 100, num_rows),
    'B': np.random.rand(num_rows),
})

이름이 지정된 Pandas DataFrame을 만듭니다. df_pandas 천만 행:

  • A: 1에서 100 사이의 임의의 정수를 포함합니다.
  • B: 0과 1 사이의 임의의 부동 소수점 숫자를 포함합니다.

3단계: FireDucks 데이터프레임 생성

df_fireducks = fpd.DataFrame(df_pandas)

Pandas DataFrame을 변환합니다. df_pandas 동등한 FireDucks DataFrame으로 df_fireducks. 이는 FireDucks가 자체 DataFrame 유형에서 작동하기 때문에 필요합니다.

4단계: Pandas 실행 시간 측정

start_time = time.time()
result_pandas = df_pandas.groupby('A')['B'].sum()
pandas_time = time.time() - start_time
print(f"Pandas execution time: {pandas_time:.4f} seconds")

다음을 수행합니다. groupby 에 대한 작업 A Pandas DataFrame의 열:

  • 열의 고유 값을 기준으로 행을 그룹화합니다. A.
  • 열의 합계를 계산합니다. B 각 그룹마다.

이 작업에 소요된 시간은 다음과 같이 기록됩니다. pandas_time.

5단계: FireDucks 실행 시간 측정

start_time = time.time()
result_fireducks = df_fireducks.groupby('A')['B'].sum()
fireducks_time = time.time() - start_time
print(f"FireDucks execution time: {fireducks_time:.4f} seconds")
  • 동일한 작업을 수행합니다. groupby FireDucks DataFrame을 사용한 작업.
  • 이 작업에 소요된 시간은 다음과 같이 기록됩니다. fireducks_time.

6단계: 성능 비교

speed_up = pandas_time / fireducks_time
print(f"FireDucks is approximately {speed_up:.2f} times faster than pandas.")
  • Pandas에 걸린 시간을 FireDucks에 걸린 시간으로 나누어 속도 향상 요소를 계산합니다.
  • FireDucks가 Pandas와 비교하여 몇 배 더 빠른지 인쇄합니다.

산출:

Pandas execution time: 0.1278 seconds
FireDucks execution time: 0.0021 seconds
FireDucks is approximately 61.35 times faster than pandas.

FireDucks의 주요 이점

FireDucks로 전환해야 하는 이유는 무엇입니까? 방법을 세어 보겠습니다.

  • 크로스 플랫폼 지원: Linux, Windows(WSL을 통해) 및 macOS에서 작동합니다.
  • 제로 학습 곡선: Pandas를 안다면 FireDucks도 이미 알고 있는 것입니다.
  • 게으른 평가: FireDucks는 뒤에서 작업을 최적화하므로 사용자가 그렇게 할 필요가 없습니다.
  • 자동 최적화: 시간과 자원을 절약하기 위해 프로세스를 재배치합니다.

FireDucks에는 데이터 애호가 커뮤니티가 점점 늘어나고 있습니다. 시작하는 데 필요한 몇 가지 리소스는 다음과 같습니다.

결론

FireDucks는 Pandas보다 125배 빠른 성능을 제공하여 데이터 분석 효율성을 크게 향상시킵니다. 원활한 호환성, 지연 평가 및 자동 최적화를 통해 친숙한 Pandas와 유사한 인터페이스를 유지하면서 대규모 데이터 세트 처리를 단순화합니다. ETL 파이프라인, 일괄 처리, 탐색적 데이터 분석과 같은 작업에 이상적인 FireDucks는 데이터 전문가를 위한 강력한 도구입니다. 그 기능을 살펴보고 성장하는 커뮤니티에 참여하세요.

자주 묻는 질문

Q1. FireDucks는 Pandas와 호환되나요?

A. 예, FireDucks는 Pandas와 동일한 API를 사용하여 호환성과 채택 용이성을 보장합니다.

Q2. FireDucks를 Windows에서 사용할 수 있나요?

A. 예, FireDucks는 WSL(Linux용 Windows 하위 시스템)을 통해 Windows와 호환됩니다.

Q3. FireDucks는 Polars 또는 Dask와 같은 다른 라이브러리와 어떻게 비교됩니까?

A. FireDucks는 지연 평가 및 자동 최적화 기능 덕분에 뛰어난 성능과 사용 편의성을 제공합니다.

니티카 샤르마

안녕하세요. 저는 기술에 정통한 콘텐츠 제작자이자 마케팅 담당자인 Nitika입니다. 창의성과 새로운 것을 배우는 것은 나에게 자연스럽게 다가온다. 저는 결과 중심의 콘텐츠 전략 수립에 대한 전문 지식을 보유하고 있습니다. 나는 SEO 관리, 키워드 운영, 웹 콘텐츠 작성, 커뮤니케이션, 콘텐츠 전략, 편집 및 글쓰기에 정통합니다.

출처 참조

Post Comment

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